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

Linux系统下的作业控制(Job Control)

2015-07-06 06:41 393 查看
一.概要说明

在Linux系统维护使用的过程中我们需要对正在进行或者需要进行的工作进行放在前台或者后台执行,或者是在后台执行后又希望放到前台来执行。因此需要使用&/bg/fg/ctrl+z等命令来实现

二.后台执行

1.启动时:需要将程序放在后台执行的时候可以直接在命令后面添加"&"符号即可:

suse:~/Desktop # firefox &

[1] 3352  返回值分别为:[后台任务号]进程号

2.运行的过程中希望切换到后台执行:ctrl+z

suse:~/Desktop # sleep 800--执行让bash休眠800s

^Z--按下ctrl+z将此动作放到后台

[2]+  Stopped                 sleep 800--显示成功放到后台

suse:~/Desktop # jobs--通过jobs命令查看后台的进程
[1]-  Running                 firefox &
[2]+  Stopped                 sleep 800

三.后台job查看

如果要查看哪些job在后台运行,可以通过jobs命令实现:
jobs [option]

-l  列出进程的pid号
-r  列出在后台运行的job
-s  列出在后台但是stop的进程

范例说明:

suse:~/Desktop # jobs -l
[1]-  3352 Running                 firefox &--后台作业号后的"-"表示倒数第二个后台运行的作业
[2]+  3386 Stopped                 sleep 800--后台作业号后的"+"表示最近被放到后台执行的作业
suse:~/Desktop # jobs -r
[1]-  Running                 firefox &
suse:~/Desktop # jobs -s
[2]+  Stopped                 sleep 800

四.后台作业管理

使用fg命令将后台的作业调到前台执行:

fg <job_num>

如果不指定job号则调"+"的后台job;
也可以指定"-"将倒数第二个放到前台;

使用bg命令将后台暂停的作业在后台执行:

bg <job_num>

停止后台运行的job:
kill %<job_Num>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: