linux任务前后台的切换

时间:2021-08-14 17:21:43

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 都是跟系统任务有关的

一、&
这个用在一个命令的最后,可以把这个命令放到后台执行

hadoop jar wordcount.jar wordcount /input/ /output/

二、ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停

三、jobs
查看当前有多少在后台运行的命令

 jobs
[1]- Stopped vim ~/.bash_profile
[2]+ Stopped vim /etc/profile

四、fg
将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)。

fg %1

五、bg
将一个在后台暂停的命令,变成继续执行
如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)。

 bg %1
[1]+ vim ~/.bash_profile &

[1]+ Stopped vim ~/.bash_profile

六、kill
杀死jobs中具体jobnumber

jobs
[1]+ Stopped vim ~/.bash_profile
[2]- Stopped vim /etc/profile

杀死 jobnumber=1
kill %1

[1]+ Stopped vim ~/.bash_profile
在查询下jobs:
jobs
[2]+ Stopped vim /etc/profile

作者:stark_summer
出处:http://blog.csdn.net/stark_summer/article/details/48879059