当前位置:  技术问答>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脚本执行另一个程序后正常退出?

谢谢!

|
你的代码是串行的
#! /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就是简单的输出一句话,你试一试!

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3