终端调到后台运行
2012-12-07 14:12 小耳 阅读(311) 评论(0) 编辑 收藏 举报将任务转到后台运行的方法是在命令的最后加上“&”即可,这两者都是基于Unix的,命令应该殊途同归吧:
1、& 最经常被用到
这个用在一个命令的最后,可以把这个命令放到后台执行
2、ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停
3、jobs
查看当前有多少在后台运行的命令
4、fg
将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)。
5、bg
将一个在后台暂停的命令,变成继续执行
如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)。
6、 将1中的命令放在 “()”中, 即 “(./myjob &)”,所提交的作业并不在作业列表中,是无法通过jobs来查看的。
7、 使用"nohup", 即 “nohup ./myjob &”,忽略hangup信号,防止shell关闭时程序停掉。
8、使用"setsid", 即“setsid ./myjob”。
9、对已经运行的程序可以用 “disown -hmyjob” 来使某个作业忽略HUP信号。
10、使用“screen". screen 下的操作会在screen下运行,无法在jobs中查看到。常用的命令有:
a) 新建一个screen: screen-S my_screen_name. 建好后就可以进行所需要的操作了。
b) 暂时断开screen: Ctrl-a d
c) 重新打开screen: Ctrl-a screen_id
d) 查看所有screen状态: screen -ls
e) 终止screen: screen -S my_screen_name -Xkill
f) 在当前窗口新建窗口: Ctrl-a c
g) 退出当前窗口: exit
h) 显示所有窗口列表:Ctrl-a w