前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在 Linux 中如何强制停止进程?kill 和 killall 命令有什么区别?

在 Linux 中如何强制停止进程?kill 和 killall 命令有什么区别?

原创
作者头像
网络技术联盟站
发布2022-04-02 14:17:06
3.2K0
发布2022-04-02 14:17:06
举报
文章被收录于专栏:网络技术联盟站

在日常工作中,您会遇到两个用于在 Linux 中强制结束程序的命令;killkillall

虽然许多 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 的程序的三个实例并将其发送到后台(它继续运行但将控制权交还给终端)。

代码语言:txt
复制
evince &
evince &
evince &

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

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

代码语言:txt
复制
kill PID1

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

代码语言:txt
复制
killall evince

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

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

你应该使用哪一个?kill还是killall?

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

我希望你现在对 kill 和 killalll 命令有一个清晰的认识,随意提出问题或建议。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • kill 和 killall 命令之间的区别
  • 你应该使用哪一个?kill还是killall?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档