歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> shell退出後後台程序保持運行

shell退出後後台程序保持運行

日期:2017/3/1 16:18:19   编辑:SHELL編程
shell退出後後台程序保持運行 在liunx上,如果想讓一個進程在後台運行,最直接的方法是用&符號. 比如ping www.baidu.com & 但是這樣一來,這個進程便成為了當前shell的一個job,在shell退出時,job會收到一個信號,也隨之停止. 處理這個問題,可以使用nohup命令,讓job忽略shell的退出信號,也可以采用其他方式. 既然後台命令作為shell的子進程會在shell退出時被殺掉,那麼只要不讓後台命令作為shell的子進程即可.比較簡單的方式是利用subshell來調用後台命令. 比如寫個start.sh #!/bin/bash ping www.baidu.com & 然後在shell中調用start.sh. ./start.sh 我猜測雖然start.sh是ping命令的父進程,但是start.sh運行完畢就退出了,ping命令成了孤兒進程,會被init進程收養.所以退出shell也不會導致ping命令中斷
Copyright © Linux教程網 All Rights Reserved