nohup创建的进程状态

时间:2013-05-18 10:46:10

标签: bash nohup

nohup someprogram &> $LOG &
echo "what happen: $?"

当我无法访问状态不是0的$ LOG或某些程序退出时,我希望能够检测到它。

目前,当出现权限错误时,$?返回0.是否有可能让bash告诉我执行上一个语句时出现问题?

2 个答案:

答案 0 :(得分:1)

请尝试等待返回子进程的状态。

nohup someprogram &> $LOG &
wait $!
echo $?

答案 1 :(得分:0)

如果您对进程进行后台处理,则无法立即可靠地测试它是否失败 - 因为无论何时检查它,它仍然可以在失败之前运行。要获得可靠的解决方案,您必须imageView

但是,如果你不关心完全可靠,你只想检查你所调用的程序是否能够存活一段时间,你可以做到

wait

可以增强代码段,但它应该为您提供基本的想法。

请注意,某些睡眠实现仅支持整数。 GNU的睡眠,你可以在大多数Linux发行版中找到它,也支持浮动。