终端使用sh xxx.sh &
后台运行shell脚本,终端关闭后作为子进程的shell进程会被回收。
解决方法
在后台不中断的运行xxx.sh,可以使用nohup忽略hangup信号
nohup sh xxx.sh &
或者使用setsid将其父进程改为init进程(进程号为1)
不中断的在后台运行test.sh另一个命令:
setsid ./test.sh &
使用ps -ef |grep test.sh可看到test.sh进程的父进程id为1
终端使用sh xxx.sh &
后台运行shell脚本,终端关闭后作为子进程的shell进程会被回收。
解决方法
在后台不中断的运行xxx.sh,可以使用nohup忽略hangup信号
nohup sh xxx.sh &
或者使用setsid将其父进程改为init进程(进程号为1)
不中断的在后台运行test.sh另一个命令:
setsid ./test.sh &
使用ps -ef |grep test.sh可看到test.sh进程的父进程id为1