我喜欢从shell脚本知道应用程序是否崩溃。如果应用程序崩溃,退出代码是什么?崩溃时退出代码
Q
崩溃时退出代码
2
A
回答
2
返回代码应用程序的退出代码将在shell变量$?。如果您的应用程序崩溃,即操作系统决定它做了一些不好的事情,并导致它终止(发送一个信号),那么这反映在退出状态$?。
下面是一个简单的功能,我使用(在bash我将其设置为可变PROMPT_COMMAND)把做的退出状态
check_exit_status()
{
local status="$?";
local msg="";
local signal="";
if [ ${status} -ne 0 ]; then
if [ $((${status} < 128)) -ne 0 ]; then
msg="exit (${status})";
else
signal="$(builtin kill -l $((${status} - 128)) 2>/dev/null)";
if [ "$signal" ]; then
msg="kill -$signal$msg";
fi;
fi;
echo "[${status} => ${msg}]" 1>&2;
fi;
return 0
}
希望你觉得它有用一些解码。
1
除0以外的任何值都表示发生错误。错误值范围从1-255。用$?
检查它们。
这有一些例外,但成功为0是* nix上的事实标准。
2
正常情况下,返回代码为0时,没有任何错误。您可以检查与$?
[email protected]:~$ badCommand badCommand: command not found [email protected]:~$ [email protected]:~$ echo $? 127 [email protected]:~$ [email protected]:~$ whoami fab [email protected]:~$ [email protected]:~$ echo $? 0 [email protected]:~$
0
似乎this is an answer你的问题。这里的代码片段表明答案取决于操作系统(包括Windows)。
+0
该博客已对公众开放:“此博客仅面向受邀读者开放http://meta-coding.blogspot.com/看起来您并未被邀请阅读此博客。如果您认为这是一个错误,您可能需要联系博客作者并请求邀请。“:-( – Pedro 2017-04-25 14:58:39
相关问题
- 1. ffmpeg的崩溃,并退出代码0xc0000022
- 2. PhantomJS崩溃 - 退出代码126
- 3. UIDocumentInteractionController在退出时崩溃
- 4. tkinter退出崩溃
- 5. Tkinter python退出/退出崩溃
- 6. 此代码何时崩溃?
- 7. 程序在退出时崩溃
- 8. 退出时扭曲/ tkinter程序崩溃
- 9. 崩溃时自动退出程序?
- 10. 退出时JavaFx应用程序崩溃
- 11. C++/SFML程序在退出时崩溃
- 12. 在应用程序崩溃时退出
- 13. vim在保存和退出时崩溃
- 14. 程序在退出时崩溃
- 15. 退出Qt程序崩溃
- 16. 退出VB 6崩溃
- 17. 崩溃在退出应用
- 18. 为什么PyQt崩溃没有信息? (退出代码0xC0000409)
- 19. Qt的GDB崩溃我的退出代码应用1
- 20. 退出后DirectShow代码崩溃(PushSourceDesktop示例)
- 21. GDB退出/崩溃而试图调试TensorFlow C++代码
- 22. throw导致代码崩溃而不是仅仅退出
- 23. 崩溃jQuery代码
- 24. collapsible面板崩溃代码不崩溃
- 25. 倒计时Excel VBA - 代码崩溃excel
- 26. C代码在运行时崩溃
- 27. 添加视图时代码崩溃
- 28. 执行代码时我的Android崩溃
- 29. 退出代码
- 30. BulletSharp崩溃的应用程序退出
不错的例子。感谢您宣传超级简单的示例/测试。根据OP的问题,实际崩溃的应用程序是否会很好地返回非零退出代码?或者当你看到一个sig-fault或其他致命错误时返回错误代码,或者你是否需要监视std-err输出是否存在'sig-falut'等错误消息?有人知道吗? – shellter 2011-03-27 18:51:28