前台作业(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://blog.51cto.com/yueyue207/2106008