- 這些工做所觸發的進程必須來自於你shell的子進程(只管理本身的bash);
- 前臺:你能夠控制與執行命令的這個環境稱爲前臺(foreground)的工做;
- 後臺:能夠本身運行的工做,你沒法使用[ctrl]+c終止它,可以使用bg/fg調用該工做;
後臺中『執行』的進程不能等待terminal/shell的輸入(input)
$tar -rpcf /tmp/etc.tar.gz /etc & [1] 8400 <== [job number]/PID #在中括號內的號碼爲工做號碼(job number),該號碼與bash的控制有關 #後續的8400則是這個工做在系統中的PID
[1]+ Done tar -rpcf /tmp/etc.tar.gz /etc
就表明這個[1]工做已經完成了。shell
[1]+ Stopped command
[1]表示這是第一個工做。而那個+表明最近一個被丟進後臺的工做,且目前在後臺默認會被取用的那個工做(與fg這個命令有關)。而那個Stopped則表明目前這個工做的狀態。在默認狀態下,使用[ctrl]+z丟到後臺中的工做都是「暫停」的。$jobs [-lrs] 參數: -l:除了列出job number與命令串以外,同時列出PID的好嗎 -r:僅列出正在後臺run的工做 -s:僅列出正在後臺當中暫停(stop)的工做 查看目前的bash當中,全部的工做,與對應的PID
fg %jobnumber
參數:
%jobnumber:jobnumber爲工做號碼(數字)。注意,那個%是無關緊要的。vim
先以jobs查看工做,再將工做取出 $jobs [1]- 10314 Stopped vim ~/.bashrc [2]+ 10833 Stopped find / -print $fg <==默認取出那個+的工做,即[2] $fg %1 <==直接規定取出的那個工做號碼!