eq linux_Linux中的Kill命令

ec2bcae1df4a6026349f4c72f6287cb0.png

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

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

kill 命令

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

kill [OPTIONS] [PID]..

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

最常用的信号是:

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

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

kill -l

输出:

a433961e5600f347493eb26b345a6ccb.png

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

  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)。为此,您可以使用不同的命令,例如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.pid
30251

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

sudo kill -1 30251

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

结论

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

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

e8b1f70cf6f7157b5e8c5fa1439b4639.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值