Linux基础(51)之Linux的作业控制

Linux基础(51)之Linux的作业控制

微信搜索 zze_coding 或扫描 👉 二维码关注我的微信公众号获取更多资源推送:

作业的概念

一个作业通常包括几个进程,几个进程共同完成一个任务,即作业。

作业的类别

  • 前台作业:通过终端启动,且启动后一直占据终端的作业;
  • 后台作业:可以通过终端启动,但启动后立即转入后台运行(释放终端);

让作业运行于后台

  • 对于运行中的作业,直接使用 CTRL + Z,之后可以通过 fg 命令将后台作业切换到前台;
  • 对于尚未启动的作业,直接在要执行的命令后加上 & 即可将作业启动到后台;

此类作业虽然被送往后台,但其依然与终端相关,作业会随终端的终止而终止。
如果希望作业送往后台后,剥离与终端的关系,可使用 nohup COMMAND &

查看后台作业

使用 jobs 命令可查看后台的作业列表。

例:

我先后将 vim anaconda-ks.cfgtopdstat 进程通过 CTRL + Z 送往后台,然后执行 jobs,结果如下:

image.png

  • 上述作业列表中 123 为作业编号;
  • + 标识的作业表示执行 fg 命令默认切换到前台的作业;
  • - 标识的作业表示执行 fg 命令第二个切换到前台的作业;

作业控制

下面命令中的 % 号大多数情况时可省的,但建议不要省,因为 % 其实是用来和进程做区分的。

切换作业到前台

使用 fg 命令可将后台的指定作业切换到前台,使用格式如下:

fg [[%]job_num]
    job_num:作业编号,指定时表示切换该编号的作业到前台,省略时切换 jobs 列表中 + 标识的进程到前台;

让后台作业继续运行

使用 bg 命令可让在后台处于停止状态的作业继续在后台运行,使用格式如下:

fg [[%]job_num]
    job_num:作业编号,让该编号的作业继续在后台运行;

终止后台作业

终止后台作业也可使用 kill 命令,使用格式如下:

kill [%job_num]
    job_num:作业编号,终止该编号的作业,% 号不可省略;

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://www.zze.xyz/archives/linux-base-51.html

Buy me a cup of coffee ☕.