Linux上的job管理

Jujay發表於2012-01-06
1. 直接把job丟到後臺執行 - &
只要在執行命令的後面加&,就可以把該命令丟到後臺執行,如:
$ tar -zpcf ./man.config.tar.gz ./man.config &
[1] 3211
第一列是指job number,只和bash環境有關;
第二列是PID,程式號。
當出現以下輸出時,表示執行結束了:
[1]    Done                          tar -zpcf ./man.config.tar.gz ./man.config
2. 將正在執行的job丟到後臺中暫停 - [ctrl] - z
當一個job在執行時,如果按下[ctrl] - z 鍵,該job將會放到後臺中暫停,如:
$ vi ./man.config  -- 正在用vi編輯一個檔案,[ctrl] - z 之後退出vi,並取得前臺的控制權。
檢視當前後臺job的狀態:
$ jobs -l
[1]  +  4791 Suspended                     vim ./man.config
3. 將後臺工作拿到前臺處理 - fg
把剛剛vi的job拿到前臺處理,就可以繼續編輯檔案了:
$ fg %1
vim ./man.config
4. 在後臺工作執行 - bg
假設後臺有處於暫停狀態的job,我們想讓它在後臺執行,如:
$ jobs
[1]  - Suspended (tty output)        vim ./man.config
[2]  + Suspended                     find / -perm +7000 > ./text.txt
$ bg %2
[2]    find / -perm +7000 > ./text.txt &
 jobs
[1]  + Suspended (tty output)        vim ./man.config
[2]    Running                       find / -perm +7000 > ./text.txt
可以看到[2]job已經從暫停狀態改為running狀態了。
5. 管理後臺job - kill
kill -1 :重新讀取一次引數的配置檔案 (類似reload);
kill -9 :強制刪除Job;
kill -15:以正常的程式方式終止job(預設)。












來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26277071/viewspace-714531/,如需轉載,請註明出處,否則將追究法律責任。

相關文章