linux系統任務的後臺運行和關閉、查看後臺任務等

linux系統任務的後臺運行和關閉、查看後臺任務常用命令有fg、bg、jobs、&、nohup、ctrl+z和ctrl+c等 命令

1、運行程序

如果程序是 sh文件,直接用./sh 文件就可以運行,但是如果想後臺運行,即使關閉當前的終端也可以運行的話,需要nohup命令和&命令。

(1)&命令

          功能:加在一個命令的最後,可以把這個命令放在後臺執行(關閉當前的終端後將被kill)

    例如:watch  -n 10 sh  test.sh  &  #每10s在後臺執行一次test.sh腳本

(2)nohup命令

          功能:不掛斷的運行命令,其意思是如果讓程序始終在後臺執行,即使關閉當前的終端也執行(之前的&做不到),這時候需要nohup。該命令可以在你退出帳戶/關閉終端之後繼續運行相應的進程。關閉中斷後,在另一個終端jobs已經無法看到後臺跑得程序了,此時利用ps(進程查看命令)

    例如:nohup ./test &

        ps -aux | grep "test.sh"  #a:顯示所有程序 u:以用戶爲主的格式來顯示 x:顯示所有程序,不以終端機來區分

2、查看當前後臺運行的命令

有兩個命令可以用,jobs和ps,區別是jobs用於查看當前終端後臺運行的任務,換了終端就看不到了。而ps命令用於查看瞬間進程的動態,可以看到別的終端運行的後臺進程。

(1)jobs命令

        功能:查看當前終端後臺運行的任務

       jobs -l選項可顯示當前終端所有任務的PID,jobs的狀態可以是running,stopped,Terminated。+ 號表示當前任務,- 號表示後一個任務。

3、前後臺進程的切換與控制

     (1)fg命令

       功能:將後臺中的命令調至前臺繼續運行

       如果後臺中有多個命令,可以先用jobs查看jobnun,然後用 fg %jobnum 將選中的命令調出。

     (2)Ctrl + z 命令

       功能:將一個正在前臺執行的命令放到後臺,並且處於暫停狀態

     (3)bg命令

       功能:將一個在後臺暫停的命令,變成在後臺繼續執行

       如果後臺中有多個命令,可以先用jobs查看jobnum,然後用 bg %jobnum 將選中的命令調出繼續執行。

4、關閉當前後臺運行的命令

      kill命令:結束進程

     (1)通過jobs命令查看jobnum,然後執行   kill %jobnum

     (2)通過ps命令查看進程號PID,然後執行  kill %PID

       如果是前臺進程的話,直接執行 Ctrl+c 就可以終止了

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章