摘抄自http://www.cnblogs.com/itech/archive/2012/04/19/2457499.html
一、& 最经常被用到
这个用在一个命令的最后,可以把这个命令放到后台执行
二、ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停
三、jobs
查看当前有多少在后台运行的命令
[huangyuanming@localhost Thu Nov 02 21:32 /ifs1/CDC/User/huangyuanming/otus]
$jobs
[1]+ Running pick_otus.py -i seqs_nochimera.fna -m uclust_ref -s 0.97 -z -r /ifs1/CDC/Software/biosoft/Qiime_1.8.0/gg_otus-13_8-release/rep_set/97_otus.fasta -o otus/ & (wd: /ifs1/CDC/User/huangyuanming)
1就是当前后台运行的程序的job编号
四、fg
将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)。
五、bg
将一个在后台暂停的命令,变成继续执行
如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)。
Shell支持作用控制,有以下命令实现前后台切换:
1. command& 让进程在后台运行
2. jobs 查看后台运行的进程
3. fg %n 让后台运行的进程n到前台来
4. bg %n 让进程n到后台去
5. kill %n 杀死job
PS:"n"为jobs命令查看到的job编号,不是进程编号.
fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的.