作业分为前台作业和后台作业
前台作业 (foreground) 通过终端启动, 且启动会一直占据终端. 比如 vim,cp
后台作业 (background) 可以通过终端启动,
如何让作业运行于后台?
1, 如果作业已经运行, 可以使用 ctl+z, 但是这个命令会使得作业停止. 使用 kill -s 18 命令让进程恢复运行
2, 如果作业没有运行, 在启动作业时, 使用 & 符号.
注意: 如果作业与终端有关, 一旦终端断开, 那么作业也就停止了, 不论作业运行于前台还是后台. 如果希望把送往后台的作业撤销与终端的关系, 可以使用 nohup COMMAND & 命令.
kill -s 18 可以继续让停止的进程运行, 但是运行的结果会显示到前台, 需要将进程先调度到前台, 再 ctl+z 停止.
jobs
查看所有作业
fg
将后台作业调度到前台
fg 可以接作业号
1 2 就是作业号,+ 号表示被 fg 默认调度的作业.- 号表示比 + 号少一个优先级.+ 号的作业处理完, 默认就开始处理 - 号的作业.
bg
让后台的作业继续运行
敲了 bg 后, 进程是在后台运行, 但是运行结果显示到了前台, 这个时候敲 ctl+z 没任何作用. 需要先用 fg 将进程调度到前台, 再 ctl+z.
跟 kill -s 18 PID 的效果一样.
kill 中断作业进程
这个现象过一会儿就没了. Terminated
来源: http://www.bubuko.com/infodetail-2569614.html