Linux中的Kill命令

作者 : 开心源码 本文共1365个字,预计阅读时间需要4分钟 发布时间: 2022-05-13 共189人阅读

Linux中的Kill命令

在Linux系统中有时想停止少量命令的执行,或者者清除少量僵尸进程,kill命令是个不错的选择。

本教程讲解了Linux系统中如何使用kill命令停止少量进程。

kill 命令

首先我们对kill命令做个简单详情。该kill命令的语法采用以下形式:

kill [OPTIONS] [PID]..

kill命令将信号发送到指定的进程或者进程组,使它们根据该信号进行操作。未指定信号时,默认为-15(-TERM)。

最常用的信号是:

  • 1HUP)-重新加载进程。
  • 9KILL)-终止进程。
  • 15TERM)-正常中止进程。

要获取所有可用信号的列表,请使用以下-l选项调用命令:

kill -l

输出:

可以用三种不同的方式指定信号:

  1. 使用数字(例如-1或者-s 1)。
  2. 使用“ SIG”前缀(例如-SIGHUP或者-s SIGHUP)。
  3. 没有“ SIG”前缀(例如-HUP或者-s HUP)。

以下命令彼此等效:

kill -1 PID_NUMBERkill -SIGHUP PID_NUMBERkill -HUP PID_NUMBER

提供给kill命令的PID 可以是以下之一:

  • 假如PID大于零,则将信号发送到ID等于的进程PID
  • 假如PID等于零,则将信号发送到当前过程组中的所有过程。换句话说,该信号将发送到属于调用kill命令的外壳程序的GID的所有进程。使用ps -efj命令查看进程组ID(GID)。
  • 假如PID等于-1,则信号以与客户调用命令相同的UID发送到所有进程。假如调用客户是root客户,则信号将发送到除init和kill进程本身之外的所有进程。
  • 假如PID小于-1,则将信号发送到GID等于的绝对值的进程组eq中的所有进程PID

普通客户可以将信号发送到自己的进程,但不能发送信号给其余客户,而根客户可以将信号发送到其余客户的进程。

使用kill命令终止进程

要使用kill命令终止或者终止进程,首先需要找到进程ID号(PID)。为此,您可以使用不同的命令,例如toppspidofpgrep

假设Firefox浏览器已无响应,并且您需要终止Firefox进程。要查找浏览器的PID,请使用以下pidof命令:

pidof firefox

该命令将打印所有Firefox进程的ID:

6263 6199 6142 6076

一旦知道了进程号,即可以通过发送TERM信号来终止所有进程号:

kill -9 2551 2514 1963 1856 1771

您可以将上述命令组合为一个命令,而不是先搜索PID而后终止进程。

kill -9 $(pidof firefox)

使用kill命令重新加载进程

另一个常见用例kill是发送HUP信号,该信号告诉进程重新加载其设置。

例如,要重新加载Nginx,您需要向主进程发送一个信号。Nginx主进程的进程ID可以在nginx.pid文件中找到,该文件通常位于/var/run目录中。

使用cat命令查找主PID:

cat /var/run/nginx.pid30251

一旦找到主PID,请输入以下内容重新加载Nginx设置:

sudo kill -1 30251

上面的命令必需以root客户或者具备sudo特权的客户身份运行。

结论

kill命令用于向进程发送信号。最常用的信号是SIGKILL或者-9,它终止给定的过程。

假如您有任何疑问或者反馈,请随时发表评论。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Linux中的Kill命令

发表回复