工作管理(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:以正常的程序终止一项工作,并将该工作“强制删除”