Linux 中的 jobs、fg 与 bg 命令

news/2024/11/25 3:21:47/

一、jobs

jobs 命令主要用于显示系统中的任务列表及其运行状态。

命令参数如下:

命令参数参数含义
-l显示作业列表时包括进程号
-n显示上次使用 jobs 命令后状态发生变化的作业
-p仅显示作业对应的进程号
-r仅显示运行中的作业
-s仅显示已暂停的作业

我们写一个死循环,依次执行三次并通过 Ctrl+Z 挂起,此时执行 jobs 命令,显示结果如下:

atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ cat infinite_loop.c
#include <unistd.h>int main() {while(1) {sleep(1);}
}
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ gcc infinite_loop.c -o job1
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ gcc infinite_loop.c -o job2
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ gcc infinite_loop.c -o job3
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ ./job1
^Z
[1]+  Stopped                 ./job1
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ ./job2
^Z
[2]+  Stopped                 ./job2
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ ./job3 &
[3] 344854
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ jobs
[1]-  Stopped                 ./job1
[2]+  Stopped                 ./job2
[3]   Running                 ./job3 &
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ jobs -p
344771
344822
344854
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ jobs -l
[1]- 344771 Stopped                 ./job1
[2]+ 344822 Stopped                 ./job2
[3]  344854 Running                 ./job3 &
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ 

对于 jobs -l 命令,输出共五列:

  • 作业号:可以通过在 fgbg 命令后面附加作业号操纵相应作业。
  • 缺省标识符+ 表示当前作业会被 fgbg 命令当作缺省作业(即在不执行作业号的情况下 fgbg 会缺省操作当前作业),- 表示当前作业将要成为缺省作业,一般情况下最后一个加入作业队列中的作业会被默认标记为缺省作业。
  • 进程号:当前作业对应的进程号
  • 状态值:当前作业的运行状态
  • 作业名:当前作业对应的可执行文件名称

二、fg 和 bg

fg 命令用于将作业(被挂起或者在后台运行的作业)放到前台运行

bg 命令用于将作业放到后台运行,使前台可以执行其他任务。该命令的运行效果与在运行命令后面添加符号 & 的效果是相同的,都是将其放到系统后台执行。

atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ jobs -l
[1]- 344771 Stopped                 ./job1
[2]+ 344822 Stopped                 ./job2
[3]  344854 Running                 ./job3 &
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ fg # 将缺省作业放到前台执行
./job2
^C
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ jobs -l
[1]+ 344771 Stopped                 ./job1
[3]- 344854 Running                 ./job3 &
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ bg 1 # 将作业号为1的作业放到后台执行
[1]+ ./job1 &
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ jobs -l
[1]- 344771 Running                 ./job1 &
[3]+ 344854 Running                 ./job3 &
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ fg
./job3
^C
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ jobs -l
[1]+ 344771 Running                 ./job1 &
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ fg 1 # 将作业号为1的作业放到前台执行
./job1
^C
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ jobs -l
atreus@iZwz9fsfltolu74amg1v0rZ:~/Code$ 

在这里插入图片描述


http://www.ppmy.cn/news/492908.html

相关文章

linux 任务后台bg和fg命令

Linux的bg和fg命令 我们都知道&#xff0c;在 Windows 上面&#xff0c;我们要么让一个程序作为服务在后台一直运行&#xff0c;要么停止这个服务。而不能让程序在前台后台之间切换。而 Linux 提供了 fg 和 bg 命令&#xff0c;让我们轻松调度正在运行的任务。 www.2cto.com …

linux bg和fg命令

linux bg和fg命令 linux下我们如果想一个任务或者程序还后台执行可以使用&&#xff0c;实际上linux还提供了其他任务调度的命令。 bg: 将一个在后台暂停的命令&#xff0c;变成继续执行;【background后景;背景;不显眼的位置;底色】fg: 将后台中的命令调至前台继续运行&am…

重量单位fg含义

今天看文章出现单位fg&#xff0c; roughly 1 fg per megabase of genome size 不解其意&#xff0c;搜索摘录如下&#xff1a; 1 g 1000 mg1 mg 1000 ug1 ug 1000 ng1 ng 1000 pg1 pg 1000 fg 因此有&#xff1a; 1 fg 10 -15 g

python中fg是什么意思_Python fg

最新项目 这个项目收集社会数据和例行程序进行分析和开发。在最基本的层面上,访问和分析与社会参与相关的数据。公共数据,比如gmane数据库提供的或者私人网络(比如facebook)捐赠的个人资料,甚至是twitt ... 2021-01-14已阅读: n次 简单的终端菜单 概述 simple-term-menu为交…

麦克纳姆轮单轮速度分析

关注同名微信公众号“混沌无形”&#xff0c;阅读更多有趣好文&#xff01; 原文链接&#xff1a;https://mp.weixin.qq.com/s/GWhlXsuY6QYyoZydaSYpjQ&#xff08;包含原文PDF百度云下载链接&#xff09; 为计算电机输出轴转速&#xff0c;需要进一步分析。这里结合图 2.4和图…

哈罗单车怎么关锁还车_哈啰出行电动车怎么锁车?锁车还车方法教程[多图]

哈啰出行电动车要怎么锁车呢&#xff1f;最近有很多朋友使用哈啰电动车出行十分的方便&#xff0c;但是到达目的地后却无法对电动车进行锁车操作&#xff0c;这是怎么回事呢&#xff1f;正确的锁车还车方法又是什么样的呢&#xff1f;今天小编就为大家带来详细的介绍&#xff0…

基于碰撞传感器的自动导航车系统设计

1、内容简介 略 635-可以交流、咨询、答疑 2、内容说明 略 随着世界各国对科学技术的重视&#xff0c;各类高科技技术突飞猛进&#xff0c;人类逐步进入人工智能时代。而在这些高科技技术的背后&#xff0c;自动导航小车作为无人驾驶小车的一种类型备受关注。它的主要优点是不需…