shell脚本中用nohup启动3个进程,输入回车后会有一或两个进程被杀掉,是啥原因?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本中用nohup启动3个进程,输入回车后会有一或两个进程被杀掉,是啥原因?相关的知识,希望对你有一定的参考价值。
想写一个shell脚本,在脚本中执行另外三个脚本a、b、c,这三个脚本会启动三个进程,命令如下。
nohup ./a &
nohup ./b &
nohup ./c &
单个执行这三条命令时没有问题,但同时输入这三个命令时,就会有进程被杀掉。会出现【1】 Done nohup ./a
【2】- Exit 1 nohup ./b
之后a、b进程就没了。这是什么原因?
( nohup ./a ) &
( nohup ./b ) &
( nohup ./c ) &
wait
说明:开启三个子shell在后台执行操作,( )表示开启子shell,
若不加圆括号直接这样写,则直接在父shell操作,可能造成逻辑错误,因为这个不是在命令行执行 的进程,
wait根据实际情况添加,表示等前面三个进程执行结束在进行下一步
以上是关于shell脚本中用nohup启动3个进程,输入回车后会有一或两个进程被杀掉,是啥原因?的主要内容,如果未能解决你的问题,请参考以下文章