7.2 作业控制内置程序

评论 0 浏览 0 2023-01-26
bg
bg [jobspec …]

在后台恢复每个挂起的作业 jobspec,就像它是用‘&’启动的一样。 如果没有提供jobspec,则使用当前作业。 返回状态为0,除非它在未启用作业控制时运行,或者在启用作业控制时运行,没有找到任何规范 或指定一个没有作业控制时启动的作业。

fg
fg [jobspec]

恢复前台作业 jobspec,并使其成为当前的作业。 如果没有提供jobspec,则使用当前的作业。返回状态是放在前台的命令的状态,如果在禁用作业控制时运行或者在启用作业控制时运行,则返回非零,jobspec 未指定有效作业或jobspec 指定在没有作业的情况下启动的作业控制。

jobs
jobs [-lnprs] [jobspec]
jobs -x command [arguments]

第一个表格列出了活动的作业。这些选项有以下含义:

-l

除了正常的信息外,还列出进程的ID

-n

仅显示有关自上次通知用户其状态以来已更改状态的作业的信息。

-p

仅列出作业的进程组组长的进程ID

-r

仅显示正在运行的作业。

-s

仅显示停止的作业。

如果给了jobspec,输出就会被限制在该工作的信息上。如果没有提供jobspec,将列出所有工作的状态。

如果提供了-x选项,jobs将在commandarguments中发现的任何jobspec替换为相应的进程组ID,并执行command,将arguments传递给它,返回其退出状态。

kill
kill [-s sigspec] [-n signum] [-sigspec] jobspec or pid
kill -l|-L [exit_status]

sigspecsignum指定的信号发送到由作业规范 jobspec或进程ID pid命名的进程。sigspec是一个不区分大小写的信号名称,如SIGINT(带或不带SIG前缀)或一个信号编号;signum是一个信号编号。 如果sigspecsignum不存在,就使用SIGTERM-l选项列出了信号名称。如果在给出-l时提供了任何参数,就会列出与参数相对应的信号名称,并且返回状态为0。 exit_status是一个数字,指定一个信号编号或被信号终止的进程的退出状态。 -L选项等同于-l。如果至少有一个信号被成功发送,返回状态为0,如果发生错误或遇到无效的选项则为非零。

wait
wait [-fn] [-p varname] [jobspec or pid …]

等待每个进程ID pid或作业规范 jobspec 指定的子进程退出并返回等待的最后一个命令的退出状态。如果给出了作业规范,则等待作业中的所有进程。如果没有给出参数,wait 等待所有正在运行的后台作业和最后执行的进程替换,如果它的进程 id 与$! 相同,并且返回状态为零。如果提供了 -n 选项,wait 等待pidjobspec 列表中的单个作业,如果没有参数提供,则等待任何作业完成并返回其退出状态。如果提供的参数都不是 shell 的子代,或者如果没有提供参数并且 shell 没有未等待的子代,则退出状态为 127。如果提供了 -p 选项,则进程或作业标识符返回退出状态的作业被分配给由选项参数命名的变量varname。在任何赋值之前,变量最初将被取消设置。这仅在提供 -n 选项时有用。提供 -f 选项,当启用作业控制时,强制wait 等待每个 pidjobspec在返回其状态之前终止,而不是在它更改时返回。如果 jobspecpid 均未指定 shell 的活动子进程,则返回状态为 127。如果wait被信号打断,则返回状态将大于128,如上所述(参见6 信号)。否则,返回状态是等待的最后一个进程或作业的退出状态。

disown
disown [-ar] [-h] [jobspec … | pid … ]

如果没有选项,则从活动作业表中删除每个jobspec。 如果给了-h选项,作业不会从表中删除,但会被标记,这样如果shell收到SIGHUP,就不会向该工作发送SIGHUP。如果没有jobspec,也没有提供-a-r选项,则使用当前的作业。 如果没有提供jobspec-a选项意味着删除或标记所有作业;-r选项没有jobspec参数,则限制对正在运行的作业进行操作。

suspend
suspend [-f]

暂停这个shell的执行,直到它收到一个SIGCONT信号。 一个登录的shell,或者一个没有启用工作控制的shell,不能被暂停;-f选项可以用来覆盖它并强制暂停。 返回状态是0,除非这个shell是一个登录的shell,或者工作控制没有被启用,并且没有提供-f

当作业控制未被激活时,killwait内置程序不接受jobspec参数。它们必须以ID的过程提供。

最后更新2023-03-02
0 个评论
当前页面书签