安照字母表顺序依次展示说明
-
a
-
b
-
c
-
d
-
e
-
f
-
g
-
h
-
i
-
j
-
k
kill [参数][进程号]
1、kill的参数:
-a 当处理当前进程时,不限制命令名和进程号的对应关系
-Z 只杀死拥有scontext 的进程
-e 要求匹配进程名称
-I 忽略小写
-g 杀死进程组(不是进程)
-i 杀死进程前会先询问用户
-l 列出所有的已知信号名称
-q 禁止输出警告信息
-s 发送指定的信号
-v 显示报告信号是否成功发送
-w 等待进程死亡
-u 指定用户
–version 显示版本显示
2、如何使用?
kill命令的实现是通过发送指定的信号到相应进程来实现的,就像是电视遥控器一样。一般先用ps 或top命令查到进程的id,再使用kill杀死。
kill -l 即可查看所有的信号:
3、查用的就几个?
<1> 1 终端断线
<2>2 中断(等同 Ctrl + C)
<3>3 退出(同 Ctrl + \)
<4>15 终止(可以使得进程在退出之前清理并释放资源)
<5> 9 强制终止
<6>18 继续(与19相反)
<7>19 暂停(等同 Ctrl + Z)
4、注意事项:
kill只可杀死单个进程;pkill和killall可杀死多个进程
彻底杀死某个进程:
当父进程被杀死之后,子进程也就被杀死了,kill -9 常用来杀死僵尸进程
kill -9 进程ID
举例说明:
<1>查出服务的进程id
ps aux |grep httpd
<2>杀死进程(3645为查到的进程id)
kill -9 3645
5、杀死程序:
程序的运行会产生进程,所以可以通过杀死进程来关闭程序,可以使用kill来实现,但是,kill只可杀死单个进程,如果一个一个杀,机械费力。该如何做呢?
我们这时就可以通过pkill和killall来实现,杀死程序。
<1>直接杀死程序(httpd为程序名)
pkill -9 httpd
或
killall -9 httpd
6、强制踢掉登录用户:
step1:
使用 w 查看用户登录信息
step2:
查看自己的身份 who am i
step3:
踢掉用户
(1)按照终端踢掉 pkill -kill -t 终端用户
(2)按照用户名踢掉 pkill -u 用户名
7、补充说明:
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不可杀;
整理自部分来自:点击
-
l
-
m
-
n
-
o
-
p
PS提供了很多的选项参数,常用的有以下几个:
l 长格式输出;
u 按用户名和启动时间的顺序来显示进程;
j 用任务格式来显示进程;
f 用树形格式来显示进程;
a 显示所有用户的所有进程(包括其它用户);
x 显示无控制终端的进程;
r 显示运行中的进程;
ww 避免详细参数被截断
-
q
-
r
-
s
-
t
-
u
-
v
-
w
-
x
-
y
-
z