什么是echo $?在linux终端?
发布时间:2020-12-14 01:38:09 所属栏目:Linux 来源:网络整理
导读:参见英文答案 What is the $? (dollar question mark) variable in shell scripting? ????????????????????????????????????9个 我试过这些命令. ~$top(ctrl + z)stopped the process~$echo $?147~$top(ctrl + c)killed the process~$echo $?0 这里发生了什
参见英文答案 >
What is the $? (dollar question mark) variable in shell scripting? ????????????????????????????????????9个
我试过这些命令. ~$top (ctrl + z)stopped the process ~$echo $? 147 ~$top (ctrl + c)killed the process ~$echo $? 0 这里发生了什么,请解释一下,为什么它显示出一些恒定的价值.这些价值观的含义是什么? 解决方法
$?是上次运行进程的返回码. 0表示没有发生错误.其他值代表某种不寻常的条件.
值128及以上通常代表某种信号. 147 – 128 = 19,表示程序接收到信号19(Linux上为SIGSTOP).现在,通常按^ Z发送SIGTSTP(来自SIGSTOP的不同信号),这可能意味着top捕获了该信号,做了一些(可能与终端相关)清理,并重新发出SIGSTOP以实际暂停程序. top也捕获了SIGINT(通常在按下^ C后发出),进行清理并干净地退出(退出值为0). 您可以运行kill -l来查看当前平台的所有信号编号.请注意,不同平台的数字不同;例如,SIGSTOP在Darwin上是17,在Linux上是19. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |