什么是工作管理
工作來自job命令的翻譯,job命令可以查看后臺工作的進程。舉例來說什么是工作管理,當你要打包一個比較大的目錄時,很耗時間,但是你同時又需要使用別的命令。你會想我可以到開幾個終端進行登錄。在/etc/security/limits.conf里面可以設定使用者同時可以登入的連接數,如果設為1,那不是沒轍了?由于耗時的打包命令并不需要與用戶進行交互,可不可以讓程序在后臺打包呢?答案是可以的。
將進程放入后臺運行
使用"&"符號讓命令在后臺工作
#tar -zcf etc.tar.gz /etc &
這個命令會將/etc目錄打包,由于后面加了&符號,也會在后臺進行

由于時間太短,就不把jobs命令放在一起了
使用快捷鍵ctel + z將目前進程放入后臺
#top
執行top命令,然后按下ctrl+z,top命令會被放入后臺,但是此時top命令會被暫停。

查看當前后臺進程:jobs
# jobs [-lrs]
選項與參數:
-l :除了列出 job number 與指令串之外,同時列出 PID 的號;
-r :僅列出在后臺運行的程序;
-s :僅列出在后臺被暫停的程序。

其實 + 代表最近被放到后臺的工作進程, - 代表最近最后第二個被放到后臺中的工作進程。 而第三個以后的進程,就不會有 +/- 符號存在了! |
將后臺暫停的進程恢復到前臺執行:fg %工作號
#fg %jobnumber
選項與參數:
%jobnumber :jobnumber 為工作號。注意,那個 % 是可有可無的!

將后臺暫停的進程恢復到后臺執行:bg %工作號
#bg %jobnumber
選項與參數:
%jobnumber :jobnumber 為工作號。注意,那個 % 是可有可無的!


要注意的是,我們在工作管理當中提到的'后臺'指的是在終端機模式下可以避免 [crtl]-c 中斷的一個情境, 并不是放到系統的后臺去喔!所以,工作管理的后臺依舊與終端機有關啦! 在這樣的情況下,如果你是以遠端連線方式連接到你的 Linux 主機,并且將工作以 & 的方式放到后臺去, 請問,在工作尚未結束的情況下你離線了,該工作還會繼續進行嗎?答案是'否'!不會繼續進行,而是會被中斷掉 |
新聞熱點
疑難解答