如何将已经运行的进程放到后台执行

进程前台与后台转换须要用到如下几个命令: 进程

1. & 
咱们最经常使用到的就是这个命令了. 用法就是放在一个命令的最后, 能够把这个命令放到后台去执行. 大概用法以下: table

1 $ tail -f log/* &
2 [1] 21867
3 # 这里 [1] 表明它是后台运行的一个 job 编号为 1
4 # 这里 21867 是它的进程号

2. ctrl + z 
这也是经常使用到的快捷键. 用于将当前正在执行的前台进程放到后台, 而且暂停. 用法大体以下: 后台

1 $ vi
2 # 按下 ctrl + z
3 [2]+  Stopped                 vi
4 # 这里 [2] 表明它是后台运行的一个 job 编号为 2
5 # 这里 + 表明他是最近一个被放到后台的进程, 若是直接输入 fg 就是恢复这个进程.
6 # 这里 Stopped 说明它被中止了也就是 ctrl + z 的第二个做用 --  暂停
7 # 这里 vi 就是进程名

3. jobs 
查看当先后台运行的进程, 以 "[做业号][-/+] 运行状态 做业名称" 输出结果相似: top

1 $ jobs
2 [1]-  Running                 tail -f log/* &
3 [2]+  Stopped                 vi

2. fg 
用于恢复后台进程到前台. 具体用法以下: tab

01 $ fg
02 # 将恢复 vi (还记得么 vi job 有一个加号, 它表明它是最近一次被放到后台的进程)
03 # 说明跟参数直接输入 fg 是恢复最近一次放入后台的进程到前台
04 # ctrl + z
05 [2]+  Stopped                 vi
06 $ fg 1
07 # 将恢复 tail
08 # ctrl + z
09 [1]+  Stopped                 tail -f log/*
10 $ jobs
11 [1]-  Stopped                 tail -f log/*
12 [2]+  Stopped                 vi
13 # 再次注意 tail 变成了 Stopped, 而且没有 & 在句尾了

3. bg 
用户把后台 stopped 的进程唤醒, 而且继续在后台运行. 具体用法以下: di

1 $ bg 1
2 [1]+ tail -f log/* &
3 $ jobs
4 [1]-  Running                 tail -f log/* &
5 [2]+  Stopped                 vi
6 # 固然 bg 也能够不跟参数就是唤醒最近放入后台的那个 stopped 进程(就是有 + 的那个)
相关文章
相关标签/搜索