📜  恢复停止的作业 linux - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:25:40.497000             🧑  作者: Mango

恢复停止的作业 linux - Shell-Bash

在Linux的Shell-Bash环境中,我们可以创建并运行多个作业,但有时候我们可能需要停止其中一个作业并回到终端操作。这个时候,我们需要知道如何恢复停止的作业,以便重新开始作业的执行。

列出所有的作业

在Shell-Bash环境中,我们可以使用 jobs 命令来列出当前所有正在执行的作业和已经停止的作业。其中,jobs 命令会显示每个作业的编号,作业类型(正在执行的作业前面有一个 + 符号,已经停止的作业前面有一个 - 符号),作业状态(运行或停止)和命令。

$ jobs
[1]+  Running  /usr/bin/php ./long-running-script.php &
[2]-  Stopped   /usr/bin/python ./some-script.py
暂停作业

如果我们需要暂停一个正在执行的作业,可以使用 Ctrl + z 快捷键,这会将作业停止并返回到Shell命令行。

$ /usr/bin/php ./long-running-script.php
^Z
[1]+  Stopped   /usr/bin/php ./long-running-script.php

上面的命令显示我们已经暂停了正在运行的作业,其中 [1]+ 是作业编号,Stopped 是作业状态。

恢复作业

当我们需要恢复一个停止的作业时,可以使用 fg 命令。如果我们只有一个停止的作业,可以简单地使用 fg 命令来恢复它。如果我们有多个停止的作业,我们必须指定要恢复的作业的编号。

$ fg
/usr/bin/php ./long-running-script.php

注意到 fg 命令会将作业带回前台,并继续执行。如果我们需要将作业放在后台执行,可以使用 bg 命令。

$ bg
[1]+ /usr/bin/php ./long-running-script.php &

这个命令将作业放在后台执行,并显示作业的编号和进程ID号。

结论

在Shell-Bash环境中,我们可以使用 jobsCtrl + zfgbg 命令来管理我们的作业。这些命令可以帮助我们暂停和恢复已经停止的作业,使我们更有效地使用Shell-Bash环境来完成我们的任务。