Kill 与 Killall:两个 Linux 命令之间的区别Kill 与 Killall:两个 Linux 命令之间的区别Kill 与 Killall:两个 Linux 命令之间的区别Kill 与 Killall:两个 Linux 命令之间的区别
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

Kill 与 Killall:两个 Linux 命令之间的区别

发表 admin at 2025年2月28日
类别
未分类
标签

Kill 和 Killall 命令都用于强制停止(终止)Linux 中的进程。了解两个相似命令之间的区别。

从 Linux 论坛到 Linux meme,您会遇到两个在 Linux 中强制结束程序的命令;杀了又杀了。

虽然许多 Linux 用户都知道kill命令,但了解和使用killall命令的人并不多。

无论如何,这可能会让人们感到困惑。这两个命令具有相似的听起来名称和相似的目的(结束进程)。

那么,kill 和killall 有什么区别呢?您应该使用哪个命令以及在什么情况下应该使用它们?

Kill 和 Killall 命令之间的区别

Kill 命令作用于进程 ID (PID),它会终止您为其提供 PID 的进程。另一方面,killall 命令作用于进程名称,它会杀死具有给定进程名称的所有进程。例如,如果正在运行三个 mysqld 实例,killall 将使用 killall mysqld 杀死所有三个实例,而您必须提供所有三个实例的 PID 才能执行 Kill 命令如杀死 PID1 PID2 PID3。

简而言之,kill 命令与 PID(通常是单独的 PID)一起使用,killall 命令与进程名称一起使用,并杀死具有该进程名称的所有进程。

让我用行动来展示这一点。

我启动了一个名为 evince 的程序的三个实例,并将其发送到后台(它继续运行,但将控制权返回给终端)。

evince &
evince &
evince &

现在,我有三个程序正在运行,进程名称为 evince,但进程 ID 不同。

要使用kill命令强制停止进程,您需要提供所需进程的PID。

kill PID1

但是,向killall 命令提供进程名称,它将杀死具有该进程名称的所有正在运行的实例。

killall evince

查看下面的屏幕截图以查看所有正在执行的命令:

正如您在这里所注意到的,您需要知道kill命令的进程ID,并且需要找到killall命令的进程名称。

您应该使用哪一个?杀还是杀?

由于kill命令适用于单个进程,因此更安全。毕竟,在启动killall命令之前,您应该确保没有任何您不想杀死的类似名称的进程正在运行。

我希望您现在对kill 和killallll 命令有了清晰的了解。请随意提出问题或建议。

©2015-2025 Norria support@norria.com