天天看點

Linux系統把程式放背景運作,背景執行不退出,退出終端仍運作程序,繼續運作(centos & nohup jobs)

這個網上很多,下面是我從網上搜集的筆記,一直來也用這個方法,最近有朋友問到,我就放到這裡,有需要的朋友也可參考!

Linux下把程式放到背景運作,相關的指令,如下:

1、把程式放背景運作,簡單的話,隻要在指令後面加一個“&”, 如: php test.php &

2、或者在運作指令後,按一下 Ctrl+Z,如運作 php test.php 後,按一下 Ctrl+Z

3、程式在背景運作了,但還是看到輸出資訊,可以用管道指令把輸出定向到 /dev/null,如:php test.php >/dev/null

4、普通的輸出資訊看不到了,但還是看到一些資訊,如錯誤資訊等,需要再添加 2>&1 指令,如:php test.php >/dev/null 2>&1

5、程式在背景運作了,但退出目前會話,發現程式還是停止了,此時要用nohup指令,如:nohup php test.php >/dev/null 2>&1 

6、使用nohup後,應確定用exit指令退出目前賬戶,非常正常退出或結束目前會話,在背景運作的作業也會終止

7、指令在背景運作了,怎麼檢視?使用jobs指令可列出目前會話的背景任務,jobs -l 能檢視到 PID,進而可以用kill終止某個任務

8、是終指令可能是:nohup php test.php >/dev/null 2>&1 &

上面指令中“2>&1”,這裡的2和1是啥?參考如下:

其中 0、1、2分别代表如下含義:

0 – stdin (standard input)

1 – stdout (standard output)

2 – stderr (standard error)

(完)

繼續閱讀