linux shell 在後台執行命令

2021-05-25 03:07:50 字數 983 閱讀 1829

前台當在前台執行命令時,shell將一直等到命令執行完畢,shell會給出提示符,使使用者可以繼續輸入下一條命令。當命令在後台執行時,不必等待該命令完成 ,就可以直接執行另一條命令。

作業是指由乙個或者(通過 管道連線的)多個命令組成的序列。前台只能有乙個作業位於視窗或者螢幕中,但可以有多個作業在後台執行。同一時間執行多個作業是linux的重要特性,這常稱為多工特性。

作業編號與pid編號如果在命令列的末尾輸入與符號(&)後按return 鍵,那麼shell將在後台執行這個作業。同時,shell會給這個作業分配乙個作業編號(乙個小的數字),並將其顯示在方括號內。在作業編號之後,shell將顯示程序標識(process identification,pid).

下面給出了在後台執行作業的示例,該作業將ls的輸出通過管道傳送到lpr,即要列印ls 的輸出 結果。

$ls -l | lpr

將作業從前台移到後台

control+z (掛起) 將把前台的作業掛起(在不終止作業的情況下阻止其繼續執行)。然後,shell終止作業中的程序,將程序的標準輸入與鍵盤斷開。 bg命令後跟作業編號可以將掛起的作業放到後台執行。如果僅有乙個作業被掛起,就不必指明作業編號。

只有前台作業可以從鍵盤獲得輸入。

kill 終止後台作業

在命令列上輸入kill和程序的pid編號(或者後跟%和作業編號),可以將後台正在執行的程序(或作業)終止,使用中斷鍵(control + c)不能終止後台程序。

用ps確定程式的pid編號

ps(process status)

用jobs來顯示作業編號

使程式在後台執行

背景 啟動了程式後,xshell一直列印程式執行的內容,此時如果ctrl z或ctrl c的話,是會使程式掛起,即不再執行。那怎麼辦?此時強制關閉xshell也不行,程式也會掛起,難道xshell一直開著?那也會有斷線的時候,那如何讓程式在後台執行呢?1 輸入命令 nohup 你的shell命令 2...

怎麼在後台執行shell指令碼

執行指令碼test.sh test.sh中斷指令碼test.sh ctrl c在1的基礎上將執行中的test.sh,切換到後台並暫停 ctrl z執行ctrl z後,test.sh在後台是暫停狀態 stopped 使用命令 bg number讓其在後台開始執行 number 是使用jobs命令查到的...

Linux下在後台執行命令

使用ssh會話在遠端linux伺服器執行命令時,如果由於網路問題終端斷開連線,則正在前台執行命令也會隨之終止,為了解決這個問題,就需要將命令放在後台執行,並且退出當前終端也不會終止程序。command 在要執行的命令後加 表示將此程序放在後台執行,程式中的輸出依然會在前台顯示。如果希望繼續在當前終端...