📜  如何在 linux 中关闭作业 - Shell-Bash (1)

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

如何在 Linux 中关闭作业 - Shell/Bash

在 Linux 中,作业是与终端交互的一种方式。在 Shell 或 Bash 中,我们可以使用 Ctrl-Z 命令将一个前台作业转换为后台作业。但有时候我们需要完全关闭一个作业,这时可以使用以下命令。

关闭当前作业

如果你正在前台运行一个作业,可以使用以下命令来关闭它:

Ctrl-C

这将发送一个 SIGINT 信号给作业,它将接收到信号并退出。

关闭后台作业

如果你的作业在后台运行,那么你需要先将它转换到前台,然后使用上述命令关闭它。

首先,使用 jobs 命令列出当前正在运行的后台作业:

jobs

你会看到一些输出,形如:

[1]+  Running                  command1 &
[2]-  Running                  command2 &
[3]+  Running                  command3 &

数字 [1][2][3] 分别代表每个后台作业的标识符。

要将一个后台作业切换到前台,使用以下命令:

fg %[标识符]

比如,如果你要将标识符为 [1] 的后台作业转换到前台,可以使用:

fg %1

一旦作业转换到前台,你就可以使用 Ctrl-C 命令关闭它了。

杀死一个作业

有时候,关闭作业的信号不足以结束作业,这时候你可以使用 kill 命令强制结束作业。同样可以使用 jobs 命令来获取作业的标识符,然后使用 kill 命令关闭它。

以下是使用 kill 命令关闭标识符为 [1] 的作业的命令:

kill %1

这将发送一个 SIGTERM 信号给作业,如果它无法优雅地退出,可以尝试使用 SIGKILL 信号:

kill -9 %1
结论

以上就是在 Linux 中关闭作业的方法,你可以结合自己的实际情况使用不同的命令来关闭作业。记住,使用 kill 命令可能会强制关闭作业,导致一些问题,所以请务必谨慎使用。