- 这些工做所触发的进程必须来自于你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 <==直接规定取出的那个工做号码!