Chinaunix首页 | 论坛 | 博客
  • 博客访问: 978291
  • 博文数量: 184
  • 博客积分: 10030
  • 博客等级: 上将
  • 技术积分: 1532
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-27 18:32
文章分类

全部博文(184)

文章存档

2009年(1)

2008年(63)

2007年(39)

2006年(79)

2005年(2)

我的朋友

分类:

2006-09-28 20:51:28

前台作业和后台作业

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) |
给主人留下些什么吧!~~