您的位置:首页 > 运维架构 > Shell

Shell 进程前台与后台转换方法

2013-01-02 20:39 232 查看
转载地址: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: