fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的
一。& 最经常被用到
这个用在一个命令的最后,可以把这个命令放到后台执行
二。ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停
三。jobs
查看当前有多少在后台运行的命令
四。fg
将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
五。bg
将一个在后台暂停的命令,变成继续执行
如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
原文:http://www.cppblog.com/prayer/archive/2010/11/29/135006.html
刚刚测试了一把,果不其然
打开Terminal, 输入sleep 30
然后ctrl+z
立马就退出正在运行的命令,并且显示
[1]+ Stopped sleep 30
但是,这个时候ps -ef|grep sleep
还能看到这个命令在后台,如果使用bg这个命令,则会显示下面信息
[1]+ sleep 30 &
如果使用fg命令,则sleep 30这个命令还会调出来,跑完为止。
想我以前用那么多的ctrl+z的命令,都是把正在运行的命令放到后台去,但是命令不是继续执行 而是处于Stopped的暂停状态,估计这些命令会一直保持这种状态抑或是多长时间后命令会自己退出?
不知道,反正以后再用ctrl+z这个命令就记得用kill命令将放在后台的这个命令杀掉,就没事了....