转载地址:http://blog.csdn.net/huaciom/article/details/6567870
进程前台与后台转换需要用到以下几个命令:
1. &
我们最常用到的就是这个命令了. 用法就是放在一个命令的最后, 可以把这个命令放到后台去执行. 大概用法如下:
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
查看当前后台运行的进程, 以 "[作业号][-/+] 运行状态 作业名称" 输出结果类似:
1 |
$ jobs |
2 |
[1]- Running tail -f log/* & |
3 |
[2]+ Stopped vi |
2. fg
用于恢复后台进程到前台. 具体用法如下:
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 的进程唤醒, 并且继续在后台运行. 具体用法如下:
1 |
$ bg 1 |
2 |
[1]+ tail -f log/* & |
3 |
$ jobs |
4 |
[1]- Running tail -f log/* & |
5 |
[2]+ Stopped vi |