Linux命令jobs
-
Linux命令`jobs`用于显示当前终端会话中正在运行的作业列表。当我们在终端中运行一个命令时,该命令会在后台执行,而我们可以继续在终端中输入其他命令。这些后台执行的命令就被称为作业。
使用`jobs`命令可以列出当前终端会话中的所有作业,包括正在后台运行的作业和暂停的作业。每个作业都有一个唯一的作业号(job ID),以及一个状态。常见的作业状态包括:
1. Running(运行中):作业正在后台运行。
2. Stopped(已停止):作业被暂停了,可以通过`fg`命令将其调至前台继续执行,或使用`bg`命令将其转为后台继续执行。
3. Done(已完成):作业已经完成了,不再存在。
4. Terminated(已终止):作业由于某种原因被终止,可能是由于错误或被用户手动杀死。使用`jobs`命令不需要任何参数,直接在终端中输入即可。执行该命令后,系统会打印出当前终端会话中运行的作业列表,包括作业号、状态和命令。例如:
“`
[1] Running sleep 100
[2]- Stopped vim
“`其中,`[1]`和`[2]`是作业号,`Running`和`Stopped`是作业状态,`sleep 100`和`vim`分别是对应作业的命令名称。
除了`jobs`命令之外,我们还可以使用一些选项来改变其行为,常见的选项包括:
– `-l`:显示详细信息,包括作业号、进程ID(PID)、作业状态和命令。
“`
[1]+ 27789 Running sleep 100
[2]- 27801 Stopped vim
“`– `-p`:仅显示作业的进程ID。
“`
27789
27801
“`– `-r`:仅显示运行中的作业。
“`
[1]+ 27789 Running sleep 100
“`– `-s`:仅显示已停止的作业。
“`
[2]- 27801 Stopped vim
“`– `-n`:仅显示作业号和命令。
“`
[1] sleep 100
[2] vim
“`综上所述,`jobs`命令是一个用于显示当前终端会话中作业列表的实用命令。通过查看作业状态和相应的操作,我们可以有效管理和控制后台运行的命令。
2年前 -
在Linux中,jobs命令用于显示当前Shell会话中运行的作业列表。作业是在后台运行的命令或程序。当在一个Shell会话中同时启动多个命令时,其中某些命令可能是后台作业,即它们在后台运行而不阻塞当前终端的操作。使用jobs命令可以查看这些后台作业的状态和编号。
以下是使用jobs命令的一些常见情况和用法:
1. jobs命令的基本用法:
使用”jobs”命令,可以简单地列出当前Shell会话中正在运行的作业。每个作业都有一个唯一编号(job ID),用于标识特定的作业。该命令会列出作业的编号、状态和命令。2. 查看更详细的作业信息:
通过在jobs命令后添加参数”-l”,可以查看更详细的作业信息。这些信息包括作业编号、状态、PID(进程ID)、作业命令和作业启动时的时间。3. 暂停和恢复作业:
在Linux中,可以使用Ctrl+Z快捷键将前台运行的作业暂停,并将其作为后台作业继续运行。暂停的作业可以使用”bg”命令恢复运行,也可以使用”fg”命令将其切换到前台继续运行。jobs命令可以查看已暂停的作业和其状态。4. 将后台作业切换到前台运行:
如果有多个后台作业,可以使用”fg”命令将其中一个作业切换到前台继续运行。jobs命令可以列出所有后台作业的编号,以方便选择将作业切换到前台。5. 杀死作业:
有时候需要终止正在运行的作业,可以使用”kill”命令加上作业PID来杀死作业。可以使用jobs命令查看作业的PID,并将其作为参数传递给kill命令。这可以在需要时停止作业或解决无响应的命令时非常有用。使用jobs命令可以更好地管理并了解当前Shell会话中正在运行的作业。它可以帮助用户查看作业状态、暂停、恢复、切换以及终止作业。这对于同时运行多个任务的用户来说尤其有用,可以更有效地管理作业并提高工作效率。
2年前 -
在Linux中,`jobs`命令用于显示在当前shell会话中正在运行的作业列表。作业是在后台或前台运行的命令或命令序列。
要理解`jobs`命令的使用方法和操作流程,可以按照以下小标题进行介绍。
## 1. 查看作业列表
要查看当前shell会话中正在运行的作业列表,只需在终端中输入`jobs`命令即可。命令的输出将显示作业编号、作业状态和作业命令。
“`shell
$ jobs
“`这将输出一个作业列表,其中每个作业都有一个编号,如`[1]`、`[2]`等等。
## 2. 作业状态标记
在`jobs`命令的输出中,作业状态用字符标记表示。下面是常见的作业状态标记及其含义:
– `Running`: 作业正在后台运行
– `Stopped`: 作业已被暂停或停止
– `Done`: 作业已经完成
– `Terminated`: 作业收到了一个终止信号而被终止## 3. 恢复作业
要恢复一个被停止的作业,可以使用`fg`命令。`fg`命令将指定的作业移动到前台,并将其作为活动作业。
“`shell
$ fg %job_number
“`其中`%job_number`是要恢复的作业编号。例如,要将作业1恢复到前台运行,可以输入以下命令:
“`shell
$ fg %1
“`## 4. 后台运行作业
要将一个正在运行的前台作业移动到后台,可以使用`bg`命令。`bg`命令将指定的作业移动到后台,并继续以后台进程的方式运行。
“`shell
$ bg %job_number
“`其中`%job_number`是要转移到后台的作业编号。例如,要将作业2转移到后台运行,可以输入以下命令:
“`shell
$ bg %2
“`## 5. 终止作业
要终止一个正在运行的作业,可以使用`kill`命令。`kill`命令用于向指定进程发送一个终止信号。
“`shell
$ kill %job_number
“`其中`%job_number`是要终止的作业编号。例如,要终止作业3,可以输入以下命令:
“`shell
$ kill %3
“`## 6. 作业控制信号
可以使用`kill`命令向作业发送不同类型的信号。下面是一些常用的作业控制信号:
– `SIGINT (2)`: 中断信号,通常由 `Ctrl + C` 触发
– `SIGTSTP (20)`: 暂停信号,通常由 `Ctrl + Z` 触发
– `SIGTERM (15)`: 终止信号,用于正常终止进程
– `SIGKILL (9)`: 强制终止信号,用于立即终止进程例子:
“`shell
$ kill -SIGTSTP %1 # 暂停作业1
$ kill -SIGCONT %1 # 恢复作业1
“`## 总结
通过`jobs`命令,我们可以查看当前shell会话中运行的作业列表,了解每个作业的状态和进程号。可以使用`fg`命令将一个暂停的作业移动到前台并恢复其运行,使用`bg`命令将一个前台作业移动到后台并继续以后台进程的方式运行。同时,使用`kill`命令可以向作业发送不同类型的信号,以终止或控制作业的运行。
2年前