首頁 > 軟體

Bash的作業控制

2020-06-16 17:56:44

作業控制是bash Shell提供的一項強大功能,它允許你選擇在前台還是後台執行程式,即作業。

1、開啟bash的作業控制功能

#set -o monitor

#set -m

2、顯示在後台執行的作業

#jobs
[1]- 執行中 gedit &
[2]+ 執行中 sleep 1000 &
+代表最後放到後台執行的作業
-代表倒數第二個放到後台執行的作業

#jobs -l                      //會顯示PID
[1]- 3403 執行中 gedit &
[2]+ 3408 執行中 sleep 1000 &

#jobs %%               //顯示在作業表中最近執行的命令
[2]+ 執行中 sleep 1000 &

#jobs -r                    //列出所有正在執行的作業

#jobs -s                     //列出所有掛起(暫停執行)的作業

3、作業控制:fg和bg命令

# gedit &                  //將作業丟到後台執行
[1] 15465

#fg %1                       //將作業放到前台執行
gedit

^Z //將前台作業送後台,並掛起(暫停執行),顯示提示符

#bg %1                          //啟動後台停止的作業1

#kill %1                        //殺掉作業1
#kill -9 %1                   //強制殺掉作業1
kill常用信號:
-1 :重新讀取一次引數的組態檔 (類似 reload);
-2 :代表和由鍵盤輸入 [ctrl]-c 同樣的動作;
-9 :立刻強制刪除一個工作;
-15:以正常的程式方式終止一頃工作。與-9 是不一樣的。

#disown %1                    //將作業1從從作業表中移除,shell不會將其識別為可用的作業(成為一個正常的進程,ps能檢視)

4、終端後台和系統後台

在終端模式下,通過& 或 ^Z放到後台的作業都是放到終端的後台,而不是系統後台。當後台任務未執行完,而終端退出時(exit),終端後台的任務會終止。
系統後台的任務則不會隨著終端的退出而終止,與終端無關。
可以通過at命令或nohup命令將作業放到系統後台執行,當退出終端或登出系統後,程式還能夠工作繼續執行。
通過nohup執行的程式的輸出,都重定向到~/nohup.out檔案中。
nohup不支援Bash內建命令,只支援外部程式。

#nohup cmd
#nohup cmd & 

Bash函數簡述  http://www.linuxidc.com/Linux/2015-06/118796.htm

Linux Bash指令碼程式語言中的美學與哲學  http://www.linuxidc.com/Linux/2015-03/114436.htm

提高Linux工作效率的十大bash技巧 http://www.linuxidc.com/Linux/2015-03/114349.htm

bash的登入與歡迎資訊:/etc/issue,/etc/motd  http://www.linuxidc.com/Linux/2014-08/105419.htm

Bash常用的幾個組態檔 http://www.linuxidc.com/Linux/2014-08/105202.htm

Bash指令碼15分鐘進階教學 http://www.linuxidc.com/Linux/2014-04/100750.htm

10個 Linux/Unix下 Bash 和 KSH shell 的作業控制範例 http://www.linuxidc.com/Linux/2014-03/98159.htm

Ubuntu下shell指令碼執行異常:Bash和dash的區別 http://www.linuxidc.com/Linux/2013-10/91100.htm

Bash指令碼之for語句if語句以及各種測試語句 http://www.linuxidc.com/Linux/2013-07/87922.htm

什麼是Bash Shell的內建(build in)命令 http://www.linuxidc.com/Linux/2013-06/86039.htm

分享有用的 bash 別名和函數  http://www.linuxidc.com/Linux/2015-01/111178.htm

Linux Bash Shell入門教學  http://www.linuxidc.com/Linux/2013-08/8848.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-08/120877.htm


IT145.com E-mail:sddin#qq.com