Linux -- 作业控制进程

作业控制

官方作业控制是一个命令行功能允许一个shell 实例来运行和管理多个命令

作用 使用作业控制,可以选择性暂停,恢复,以及异步运行命令,让 shell 可以在子进程运行

期间返回接受其他命令

前台进程

foreground :前台进程是在终端中运行的命令,该终端为进程的控制终端。前台进程接收键盘产

生的输入和信号,并允许从终端读取或写入到终端。

background :后台进程没有控制终端,它不需要与终端交互。

示例

前台进程

后台进程

===>>>

可以发现前台进程没法继续在命令行 执行命令 ,后台进程是可以继续执行命令的~!

查看后台进程 Jobs

命令 Jobs

jobs 命令,就是用来查看当前终端放在后台的进程

[ 1 ] [ 2 ] : 表示 作业 1,作业 2。 即 在后台有两个作业 。

+ : 表示最近被放到后台中的工作

- : 表示最近第二个被放到后台中的工作

后台超过 三个工作,就不会有+ - 符号出现了~!!!

✋ Running : 表示该进程正在运行

stopped : 表示该进程已经停止

前后台进程相互调换

✋ 即把 前台进程放在后台去运行 ,或者,把后台进程放到前台去运行 ~!!

✋ 其实,主要是 介绍两个 命令 bg ; fg

前台进程放在后台去运行 :

✋ 这类问题,通常来讲,大家想想 : “ 前台进程要到后台去运行 ”

===>>>

那我最直接了当的,不就是直接让该进程去后台运行就完了嘛。

就比如现在要运行一个 ( sleep 300 )

那我直接加一个 & 不就行了

===>>>

直接 ( sleep 300 & ) 直接结束了呗~!!!

这是最直接了当的~!!!

前台进程到后台运行,我直接 & 就完了呗~!!!

该案例,就不列举了, & 的应用,过于简单,不示例~!!

===>>>

还有一种,就是该前台进程正在运行呢( 这一点其实才是想要说的那个例子 )

就是现在,前台正有个进程在运行着呢,现在需要把它转为 后台进程~!

===>>>

那就得先使用 发送信号量 ctrl + z 先给该进程暂停了

(自动就挂在后台进程了 )

然后使用 jobs 命令,查看后台进程;

查看完该进程在后台的 [ 编号 ] 之后,再使用 bg 命令 继续运行该进程~!

这样,该进程就从 前台进程正在运行 变为 后台进程 正在运行了~!!

其实,相当于是 让后台进程 继续在后台运行~!!!!!

示例

有 两个作业,一个是前台正运行,我们使用 ctrl z 给暂停 ( 后台挂起 )

一个是在后台正在运行~!!!!

显然 , [ 1 ] 是后台挂起, [ 2 ] 是后台正在运行~!!

现在,我们把后台挂起的 [ 1 ] 作业 继续让在后台运行~!!

( 这就是我们上面举得例子,让后台进程,继续在后台运行 )

===>>> bg 命令

执行完命令后,显然可以看到 提示 job 2 已经在后台了; 不过,我们执

行完该命令后,是让它继续在后台运行起来。

命令各式 : bg %( 进程所对应的 [ 编号 ] )

后台进程调到前台来执行

我们依旧以上面示例 :

现在调用 [ 1 ] 工作 到前台去执行 :

显然,我们把该进程调到前台来后,该进程立马执

行,终端即无法输入命令 ( 这是 sleep 的作用 )

我们使用的命令是 : fg %

使用 kill 命令 终止 工作

终止 工作 1

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值