ITPub博客

首页 > > > Linux中的Kill命令

Linux中的Kill命令

作者:dapan 时间:2020-07-08 14:17:06 0 删除 编辑

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

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

kill 命令

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

kill [OPTIONS] [PID]..

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

最常用的信号是:

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

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

kill -l

输出:

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

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

以下命令彼此等效:

kill -1 PID_NUMBER
kill -SIGHUP PID_NUMBER
kill -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)。为此,您可以使用不同的命令,例如top,ps,pidof和pgrep。

假设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.pid
30251

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

sudo kill -1 30251

上面的命令必须以root用户或具有sudo特权的用户身份运行。

结论

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

如果您有任何问题或反馈,请随时发表评论。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/758/viewspace-3127389/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-08-07

  • 博文量
    4504
  • 访问量
    87236