(Linux)kill命令详解

在Linux的系统中,kill是我们最常见的命令之一。 
kill,英语中为杀死的意思,顾名思义,就是用来杀死一些东西的命令,用来杀死系统中的进程。就像是Windows系统中的关闭软件的按钮或任务管理器的结束任务,不过kill最直接,从后台直接停止。

下面就介绍一下,kill是如何杀死进程的。

kill命令的参数
在Linux系统中命令都是有参数的,这给了我们很多的选择,但是kill的重点不在于参数而是信号,下面就是kill的一些参数(简单了解即可)

-a 当处理当前进程时,不限制命令名和进程号的对应关系 
-Z 只杀死拥有scontext 的进程 
-e 要求匹配进程名称 
-I 忽略小写 
-g 杀死进程组(不是进程) 
-i 杀死进程前会先询问用户 
-l 列出所有的已知信号名称 
-q 禁止输出警告信息 
-s 发送指定的信号 
-v 显示报告信号是否成功发送 
-w 等待进程死亡 
-u 指定用户 
–version 显示版本显示

kill的信号
kill命令的实现是通过发送指定的信号到相应进程来实现的,就像是电视遥控器一样。一般先用ps 或top命令查到进程的id,再使用kill杀死。

【1】格式: kill + 信号 + 进程号
(kill是简洁的,一般直接加上信号和进程id,直接杀死,命令的参数反而不常用)

【2】常用kill的信号
kill -l 即可查出kill的所有的信号(共有64种)

但是常用的只有9种信号:

<1> 1 终端断线

<2>2 中断(等同 Ctrl + C)

<3>3 退出(同 Ctrl + \)

<4>15 终止(可以使得进程在退出之前清理并释放资源)

<5> 9 强制终止

<6>18 继续(与19相反)

<7>19 暂停(等同 Ctrl + Z)

kill的实际应用
kill只可杀死单个进程;pkill和killall可杀死多个进程

【1】彻底杀死进程
当我们杀掉父进程时,其下的子进程也会被杀死 
kill -9 常用来杀死僵尸进程

格式:kill -9 进程id

<1>查出服务的进程id 
ps aux |grep httpd

<2>杀死进程(3645为查到的进程id) 
kill -9 3645

【2】杀死程序
程序的运行会产生进程,所以可以通过杀死进程来关闭程序,可以使用kill来实现,但是,kill只可杀死单个进程,如果一个一个杀,有点费时间(也可 ps aux |grep httpd | xargs kill -9 )。

我们这时就可以通过pkill和killall来实现,杀死程序。

<1>直接杀死程序(httpd为程序名) 
pkill -9 httpd 
或 
killall -9 httpd

【3】强制踢掉登陆用户
有的时候,可能我们的系统中有很多用户在同时登陆这一台服务器,而我们想要踢掉某个不良用户,就可以执行如下操作。

<1>查看用户登陆信息 
w

<2>查看自己的身份(避免把自己踢掉) 
who am i

<3>踢掉用户ats

pkill -kill -t pts/2(按终端踢,pts/2为所踢用户的终端) 
或 
pkill -u ats(按用户名踢,ats为用户名)

kill的注意事项
1.如果kill时,不指定信号就会默认发送信号15,终止指定进程,使得进程在退出之前清理并释放资源。

2.使用kill时,root用户将影响用户的进程,非root用户只能影响自己的进程。

3.使用kill时,当kill向进程发送信号,必须是这些进程的主人。如果杀死一个没有权限杀死的进程或杀死一个不存在的进程,就会报错。如下: 
-bash: kill: (20) - No such process

4.使用kill时,如果成功地发送了信号,shell会在屏幕上显示出进程的终止信息。(按下Enter键,就会显示出来)

5.使用kill时,如果使用信号9,使进程强行终止,可能会使数据丢失或者终端无法恢复到正常状态。

6.init进程,它是一个由内核启动的用户级进程,所有进程都是init进程的子孙,init不可杀。
--------------------- 

转载自:https://blog.csdn.net/GX_1_11_real/article/details/80534793 
相关链接:https://blog.csdn.net/nigulasi_dawei/article/details/70880701

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值