Linux kill命令教程:如何优雅地终止进程(附实例详解和注意事项)
我要下东西噢 2024-08-21 08:07:02 阅读 98
Linux kill命令介绍
kill 是一种在 Linux(Bourne-derived shells,如 Bash 和 Zsh)中用于终止执行进程的命令。它发送一个信号给指定的进程或进程组,使其按照信号的要求行动。该命令位于 /bin/kill,如果用户在键入 kill 命令时没有明确指定要发送的信号,则会发送一个默认的 TERM 信号来终止这个进程。
Linux kill命令适用的Linux版本
kill命令适用于各种Linux发行版,包括Debian, Ubuntu, Alpine, Arch Linux, Kali Linux, RedHat/CentOS, Fedora, Raspbian等。要在这些系统中安装或更新kill命令,只需要使用对应系统的包管理器并输入适当的命令。例如,在Debian和Ubuntu中,你可以使用apt-get命令,而在Fedora和RHEL/CentOS中,则可以使用dnf或yum命令。注意CentOS 7和CentOS 8的安装命令略有不同。
安装kill命令的方式如下:
<code>[linux@bashcommandnotfound.cn ~]$ sudo apt-get install procps #Debian/Ubuntu系统
[linux@bashcommandnotfound.cn ~]$ sudo dnf install procps-ng #Fedora 22+系统
[linux@bashcommandnotfound.cn ~]$ sudo yum install procps #Older Fedora/RHEL/CentOS
对于CentOS 7,会使用yum作为包管理器,而CentOS 8则使用dnf。
Linux kill命令的基本语法
基本语法如下:
kill [options] pid
Linux kill命令的常用选项或参数说明
以下表格中描述了 kill 命令的一些最常用的选项:
Option | Description |
---|---|
-l | 列出所有可能的信号 |
signal | 终止指定的信号 |
pid | 进程号 |
Linux kill命令实例详解
实例1:终止一个进程
[linux@bashcommandnotfound.cn ~]$ kill 1234
实例2:列出所有的信号
[linux@bashcommandnotfound.cn ~]$ kill -l
实例3:发送特定的信号到进程
[linux@bashcommandnotfound.cn ~]$ kill -9 1234
实例4:发送自定义信号
TERM
是kill发送给应用程序/进程的默认信号。然而,如果你愿意,你可以使用-s
命令行选项发送kill支持的任何其他信号。例如,如果一个进程对TERM
信号没有响应(这允许进程在退出前进行最后的清理),你可以选择KILL
信号(这不让进程进行任何清理)。在这种情况下,你需要运行以下命令。
[linux@bashcommandnotfound.cn ~]$ kill -s KILL [pid]
实例5:使用kill命令发送STOP信号
我们可以使用kill
命令发送STOP
信号来暂停一个进程。例如,如果我们想暂停’gthumb’进程,我们可以首先使用ps
命令获取应用程序的pid,然后将其传递给kill
命令进行暂停。
[linux@bashcommandnotfound.cn ~]$ ps -ef | grep gthumb
[linux@bashcommandnotfound.cn ~]$ kill -s STOP [pid]
实例6:使用kill命令发送CONT信号
如果我们已经使用STOP
信号暂停了一个进程,我们可以使用CONT
信号来恢复该进程。例如,如果我们想恢复’gthumb’进程,我们可以首先使用ps
命令获取应用程序的pid,然后将其传递给kill
命令进行恢复。
[linux@bashcommandnotfound.cn ~]$ ps -ef | grep gthumb
[linux@bashcommandnotfound.cn ~]$ kill -s CONT [pid]
实例7:使用kill命令发送USR1信号
USR1
和USR2
是两个用户定义的信号,它们没有预定义的行为,所以应用程序可以使用它们来执行任何特定的任务。例如,如果我们想向’gthumb’进程发送USR1
信号,我们可以首先使用ps
命令获取应用程序的pid,然后将其传递给kill
命令进行发送。
[linux@bashcommandnotfound.cn ~]$ ps -ef | grep gthumb
[linux@bashcommandnotfound.cn ~]$ kill -s USR1 [pid]
Linux kill命令的注意事项
当你使用kill命令时,需要注意,负的PID值被用来表示进程组ID。如果你传递一个进程组ID,那么该组中的所有进程都将接收到信号。PID为-1是非常特殊的,因为它表示除了kill进程本身和init(所有进程在系统上的父进程)之外的所有进程。bash: kill: command not found,您需要根据上文给出的命令进行安装。
Linux kill相关命令
ps命令:这是用于查看系统中当前运行的进程top命令:这是一个实时显示当前系统状态动态监控系统的实用工具pkill命令:这是一个可以根据进程名终止进程的命令htop命令:这是一个互动的进程查看器,同时也是 ‘top’ 命令的一种增强版
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。