工作管理(job control)是用在bash环境下的,当我们登陆系统取得bash shell之后,在单一终端机下同时进行多个工作的行为管理。
工作管理中需注意bash只能管理自己的工作而不能管理其他bash的工作,所以即使你是root也不能够将别人的bash下面的job给他拿过来执行。此外有份前台和后台,然后在后台里面的工作状态又可以分为“暂停”与“运行中”。
直接将命令丢到后台中“执行”的&;
将目前的工作丢到后台中“暂停”:ctrl+z
查看目前的后台工作状态:jobs
-l 出来列出job number与命令串之外,同时列出PID的号码;
-r 仅列出正在后台run的工作;
-s 仅列出正在后台当中暂停(stop)的工作;
将后台工作拿到前台处理:fg
fg %jobnumber
%jobnumber 为工作号码(数字),其中%可有可无
让工作在后台下的状态变成运行中:bg
jobs ; bg %3 ;jobs 其中;为执行多个命令
管理后台当中的工作:kill
kill -signal %jobnumber
kill -l
-l l为L的小写,列出目前kill能够使用的信号(signal)有哪些
signal:代表给予后接的那个工作什么样的知识,用man 7 signal可知:
-1:重新读取一次参数的配置文件(类似reload);
-2:代表与由键盘输入ctrl+c同样的操作;
-9:立刻强制删除一个工作;
-15:以正常的程序终止一项工作,并将该工作“强制删除”