linux中如何把程序放在後台執行

時間 2021-08-11 17:39:55

1樓:匿名使用者

一、在linux中,如果要讓程序在後台執行,一般情況下,我們在命令後面加上&即可,實際上,這樣是將命令放入到乙個作業佇列中了:$ ./test.

sh & [1] 17208 $ jobs -l [1]+ 17208 running ./test.sh & 二、對於已經在前台執行的命令,也可以重新放到後台執行,首先按ctrl+z暫停已經執行的程序,然後使用bg命令將停止的作業放到後台執行:

$ ./test.sh [1]+ stopped .

/test.sh $ bg %1 [1]+ ./test.

sh & $ jobs -l [1]+ 22794 running ./test.sh & 三、但是如上方到後台執行的程序,其父程序還是當前終端shell的程序,而一旦父程序退出,則會傳送hangup訊號給所有子程序,子程序收到hangup以後也會退出。

如果我們要在退出shell的時候繼續執行程序,則需要使用nohup忽略hangup訊號,或者setsid將將父程序設為init程序(程序號為1)$ echo $$ 21734 $ nohup ./test.sh & [1] 29016 $ ps -ef | grep test 515 29710 21734 0 11:

47 pts/12 00:00:00 /bin/sh .

/test.sh 515 29713 21734 0 11:47 pts/12 00:

00:00 grep test $ setsid ./test.

sh & [1] 409 $ ps -ef | grep test 515 410 1 0 11:49 ? 00:

00:00 /bin/sh ./test.

sh 515 413 21734 0 11:49 pts/12 00:00:

00 grep test 四、上面的試驗演示了使用nohup/setsid加上&使程序在後台執行,同時不受當前shell退出的影響。那麼對於已經在後台執行的程序,該怎麼辦呢?可以使用disown命令:

$ ./test.sh & [1] 2539 $ jobs -l [1]+ 2539 running .

/test.sh & $ disown -h %1 $ ps -

2樓:愚人陳

linux 技巧:讓程序在後台可靠執行的幾種方法

如何在Linux系統中結束結束程序或是中止程式

wooking吾空 任務管理 後臺執行與終止 fg bg jobs ctrl z命令 一 加在一個命令的最後,可以把這個命令放到後臺執行 如gftp 二 ctrl z 可以將一個正在前臺執行的命令放到後臺,並且處於暫停狀態,不可執行 三 jobs 檢視當前有多少在後臺執行的命令 jobs l選項可顯...

在photoshop中如何把圖層放在另圖層下方

在選單欄 選擇視窗 下拉選單中選擇圖層,就會出現圖層面板 圖層面板中有一些圖層,選擇要移動的圖層,按住滑鼠左鍵不放,往下拖,直到你想要的效果 寒光閃 用滑鼠點住上面的那個圖層 按住不放,然後往下拖即可 zhangting 張婷 滑鼠點在要移動的那層。然後直接拉下去就可以了。 我學的不好,幫不了你了。...

在linux中,請問如何把檔案的內容向前或向後移動指定的長度

dd if source file of dest file bs 20 skip 1 具體需求是這樣的,這個功能是用在嵌入式linux平臺上 arm9 linux 2.6.32 kernel 要求對檔案系統中的一個指定檔案定期地刪除最老的118個位元組的資料,也就是最開頭的118個位元組刪掉,檔案...