Ani*_*udh 6 unix shell background return-value
我需要根据后台进程的返回值采取一些操作,即它是否首先终止.
具体来说:在理想的操作中,我作为后台进程运行的服务器将永远运行.在这种情况下保持它在后台是有道理的,因为我希望我的shell脚本在产生服务器后做其他事情.但是如果服务器异常终止,我想最好使用服务器的退出返回值来决定是否杀死我的主脚本.如果那是不可能的,我至少想要中止主脚本而不是用失败的服务器运行它.
我正在寻找一些针对shell脚本的异步回调的东西.一种解决方案是生成一个监视进程,定期检查服务器是否发生故障.我希望在主shell脚本本身内没有它.
djh*_*987 -2
您可以将后台进程嵌套在脚本中。例如,如果您希望发送到后台的进程名为 foo:
#!/bin/sh
foo
if [ $? ]
then
# do something here if process failed
fi
Run Code Online (Sandbox Code Playgroud)
然后只需在后台运行上面的脚本而不是foo. 如果你需要关闭它,你可以杀死它,但否则只要foo继续运行它就永远不会终止,如果 foo 死了,你可以根据它的错误代码做任何你想做的事情。
| 归档时间: |
|
| 查看次数: |
2593 次 |
| 最近记录: |