【Linux】工作管理
生活随笔
收集整理的這篇文章主要介紹了
【Linux】工作管理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 在進行工作管理的行為中,其實每個工作都是目前bash的子進程,即彼此間是有相關性的。我們無法以job control的方式由tty1的環境去管理tty2的bash
- 當只有一個終端時,可以出現提示符讓你操作的環境就稱為前臺(foreground),至于其他工作就可以讓你放入后臺(background)去暫?;蜻\行。要注意的是,放入后臺的工作想要運行時,它必須不能夠與用戶互動。舉例來說,vim絕對不可以在后臺里面執行(running)。因為你沒有輸入數據它就不會跑。而且放入后臺的工作是不可以使用[ctrl]+c來終止的。總之,要進行bash的job control 必須要注意到的限制是:
- 這些工作所觸發的進程必須來自于你shell的子進程(只管理自己的bash);
- 前臺:你可以控制與執行命令的這個環境稱為前臺(foreground)的工作;
- 后臺:可以自己運行的工作,你無法使用[ctrl]+c終止它,可使用bg/fg調用該工作;
后臺中『執行』的進程不能等待terminal/shell的輸入(input)
實際運行job控制的命令
直接將命令丟到后臺中『執行』的&
$tar -rpcf /tmp/etc.tar.gz /etc & [1] 8400 <== [job number]/PID #在中括號內的號碼為工作號碼(job number),該號碼與bash的控制有關 #后續的8400則是這個工作在系統中的PID- 在輸入一個命令后,在該命令的最后面加上一個『&』代表將該命令丟到后臺中,此時bash會給予這個命令一個"工作號碼"(job number),就是那個[1]。至于后面那個8400則是該命令所觸發的PID了。
- 如果輸入幾個命令后,突然出現如下數據
就代表這個[1]工作已經完成了。
將目前工作丟到后臺中『暫?!?#xff1a;[ctrl]+z
- 按下[ctrl]+z后,屏幕上會出現如下[1]+ Stopped command[1]表示這是第一個工作。而那個+代表最近一個被丟進后臺的工作,且目前在后臺默認會被取用的那個工作(與fg這個命令有關)。而那個Stopped則代表目前這個工作的狀態。在默認狀態下,使用[ctrl]+z丟到后臺中的工作都是「暫?!沟摹?/li>
查看目前的后臺工作狀態:jobs
$jobs [-lrs] 參數: -l:除了列出job number與命令串之外,同時列出PID的好嗎 -r:僅列出正在后臺run的工作 -s:僅列出正在后臺當中暫停(stop)的工作查看目前的bash當中,所有的工作,與對應的PID- 用jobs這個命令可以查看后臺中的工作,如果想要知道該job number的PID號碼,可以加上-l這個參數。在輸出的信息當中,有些任務號碼后會有+-號碼,+號代表最近被放到后臺的工作號碼,-代表最近最后第二個被放置到后臺中的工作號碼。而超過最后第三個以后的工作,就不會有+/-符號的存在了。
將后臺工作拿到前臺來處理:fg
fg %jobnumber
參數:
%jobnumber:jobnumber為工作號碼(數字)。注意,那個%是可有可無的。
讓工作在后臺的狀態變成運行中:bg
- bg %jobnumber將jobnumer的工作在后臺啟用
轉載于:https://www.cnblogs.com/vincently/p/6719053.html
總結
以上是生活随笔為你收集整理的【Linux】工作管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有趣的linux指令
- 下一篇: 1365 浴火银河星际跳跃 (并查集