当前位置: 技术问答>linux和unix
如何让sell脚本执行另一个程序后正常退出?
来源: 互联网 发布时间:2015-06-16
本文导语: 譬如: # cat aaa #! /bin/sh /tmp/a.out exit # ./aaa 其中,a.out不会自动退出执行 做完如上操作后,进程aaa依旧存在,且ppid为1(成为了孤儿进程?)如何让sell脚本执行另一个程序后正常退出? 谢谢! | 你的...
譬如:
# cat aaa
#! /bin/sh
/tmp/a.out
exit
# ./aaa
其中,a.out不会自动退出执行
做完如上操作后,进程aaa依旧存在,且ppid为1(成为了孤儿进程?)如何让sell脚本执行另一个程序后正常退出?
谢谢!
# cat aaa
#! /bin/sh
/tmp/a.out
exit
# ./aaa
其中,a.out不会自动退出执行
做完如上操作后,进程aaa依旧存在,且ppid为1(成为了孤儿进程?)如何让sell脚本执行另一个程序后正常退出?
谢谢!
|
你的代码是串行的
#! /bin/sh
a.out
exit
这个时候shell进程会等待a.out进程结束,也就是SIGCHLD信号(相当于c里面调用wait)
你如果改成
#! /bin/sh
a.out &
exit
这个时候shell进程不会等待a.out结束(相当于调用waitpid并且设置不阻塞)
#! /bin/sh
a.out
exit
这个时候shell进程会等待a.out进程结束,也就是SIGCHLD信号(相当于c里面调用wait)
你如果改成
#! /bin/sh
a.out &
exit
这个时候shell进程不会等待a.out结束(相当于调用waitpid并且设置不阻塞)
|
用nohup /tmp/a.out &看看
|
一个进程退出后会用exit(0),另一个进程可以通过取得退出时的ID的方法判断前一个进程是否退出!
|
你的a.out是什么
为什么我没有出现你的问题呢?
我的a.out就是简单的输出一句话,你试一试!
为什么我没有出现你的问题呢?
我的a.out就是简单的输出一句话,你试一试!
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。