前台作业和后台作业
1. 前台作业
挂起一个作业
为挂起一个作业可以使用 CTRL+Z 恢复使用前台命令 fg
$ top
...
...
[1]+ Stopped top
^z
$fg 恢复
2. 后台作业
来自后台作业的屏幕输出可能非常混乱,因此强烈建议,后台作业的输入和输出被重定向
在命令末尾加&符,启动一个后台作业,如果该作业需要参数,比如文件名,则&号紧跟在最后一个参数后. 命令结尾于&之间不留空格.
挂起,重启和终止后台作业
挂起一个作业: stop
重启一个作业: bg
终止一个作业: kill
三个命令都需要一个 % 开头的作业号.
比如: $ stop %1
3. 在前后台之间移动作业
使用fg bg 和作业号,比如%1 %2 %3
4. 作业命令
[root@ys ~]# jobs
[1]- Stopped top
[2]+ Stopped vi
2个作业一个包含+号, 一个包含-号. 这些符号被称为当前值标志. 如果某个命令在输入时没有给出作业号,加号表示该作业为默认作业. 减号表示如果第一个作业结束哪个作业将成为默认作业. 被挂起(CTRL+Z)的作业被自动给予默认的当前值标志.
如果2个作业被挂起,则最近挂起的作业未加号,较早挂起的作业为减号. 如果不存在被挂起的作业,则加号被赋予最近启动的作业.
5. 使用作业号
stop和kill总是需要一个作业号,fg和bg当存在多个作业时,需要作业号.作业号由一个%开头,并由一个空格与其他命令隔开. 除了作业号以外. 默认作业可以表示为%+或%%,包含减号当前值的作业可以表示为%-.比如:
fg %3
bg %+
stop %%
kill %-
作业号对用户会话而言是唯一的.这意味着,如果一个用户同时登陆到两个不同的会话,则他拥有相同的作业号. 如果您在一种shell中运行作业. 后切换到另一种shell,这仍然成立.这两种shell中的作业号都是从1开始,并可能重复.
在任何时候,一个作业可能处于三种状态之一: 前台,后台,挂起.
为了移动一个前台作业到后台,或为了移动一个后台作业到前台,该作业必须首先被挂起.
6. 进程ID
作业号与用户会话相关: 它们不是全局的.
UNIX给作业或进程指派另一种标志符,它的作用域是全局的.成为进程标识符,或PID.
ps命令可以显示进程的PID
阅读(1529) | 评论(0) | 转发(0) |