Linux kill命令教程:如何优雅地停止历程(附实例详解和注意事项) ...

打印 上一主题 下一主题

主题 630|帖子 630|积分 1890

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命令的方式如下:
  1. [linux@bashcommandnotfound.cn ~]$ sudo apt-get install procps     #Debian/Ubuntu系统
  2. [linux@bashcommandnotfound.cn ~]$ sudo dnf install procps-ng     #Fedora 22+系统
  3. [linux@bashcommandnotfound.cn ~]$ sudo yum install procps        #Older Fedora/RHEL/CentOS
复制代码
对于CentOS 7,会使用yum作为包管理器,而CentOS 8则使用dnf。
Linux kill命令的基本语法

基本语法如下:
  1. kill [options] pid
复制代码
Linux kill命令的常用选项或参数说明

以下表格中描述了 kill 命令的一些最常用的选项:
OptionDescription-l列出全部大概的信号signal停止指定的信号pid历程号 Linux kill命令实例详解

实例1:停止一个历程

  1. [linux@bashcommandnotfound.cn ~]$ kill 1234
复制代码
实例2:列出全部的信号

  1. [linux@bashcommandnotfound.cn ~]$ kill -l
复制代码
实例3:发送特定的信号到历程

  1. [linux@bashcommandnotfound.cn ~]$ kill -9 1234
复制代码
实例4:发送自定义信号

TERM是kill发送给应用程序/历程的默认信号。然而,如果你愿意,你可以使用-s命令行选项发送kill支持的任何其他信号。例如,如果一个历程对TERM信号没有响应(这答应历程在退出进步行末了的清理),你可以选择KILL信号(这不让历程进行任何清理)。在这种环境下,你需要运行以下命令。
  1. [linux@bashcommandnotfound.cn ~]$ kill -s KILL [pid]
复制代码
实例5:使用kill命令发送STOP信号

我们可以使用kill命令发送STOP信号来暂停一个历程。例如,如果我们想暂停’gthumb’历程,我们可以起首使用ps命令获取应用程序的pid,然后将其传递给kill命令进行暂停。
  1. [linux@bashcommandnotfound.cn ~]$ ps -ef | grep gthumb
  2. [linux@bashcommandnotfound.cn ~]$ kill -s STOP [pid]
复制代码
实例6:使用kill命令发送CONT信号

如果我们已经使用STOP信号暂停了一个历程,我们可以使用CONT信号来恢复该历程。例如,如果我们想恢复’gthumb’历程,我们可以起首使用ps命令获取应用程序的pid,然后将其传递给kill命令进行恢复。
  1. [linux@bashcommandnotfound.cn ~]$ ps -ef | grep gthumb
  2. [linux@bashcommandnotfound.cn ~]$ kill -s CONT [pid]
复制代码
实例7:使用kill命令发送USR1信号

USR1和USR2是两个用户定义的信号,它们没有预定义的行为,所以应用程序可以使用它们来实行任何特定的任务。例如,如果我们想向’gthumb’历程发送USR1信号,我们可以起首使用ps命令获取应用程序的pid,然后将其传递给kill命令进行发送。
  1. [linux@bashcommandnotfound.cn ~]$ ps -ef | grep gthumb
  2. [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’ 命令的一种加强版

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

涛声依旧在

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表