这个杀手不太冷-kill家族

kill家族: 
kill:        # 删除执行中的程序或工作
killall:     # 使用进程的名称来杀死进程,使用此指令可以杀死一组同名进程
pkill:       # 用于杀死一个进程,它会杀死指定名字的所有进程,类似于 killall 命令

kill

语法格式:
'kill <参数> <进程号>'
常用参数:
-l:     # 列出系统支持的信号(常用信号:1、9、15)
-s:     # 指定向进程发送的信号
-a:     # 处理当前进程时不限制命令名和进程号的对应关系
-p:     # 指定kill命令只打印相关进程的进程号,而不发送任何信号
命令实例:
1:
KnowledgeIsPower:~ # kill -l    [这会列出64个信号,kill默认是15信号(正常杀死一个进程),kill -1 pid号(重新加载进程),kill -9 pid号(这个比较粗暴,强制杀死指定pid号的进程)]
2:
KnowledgeIsPower:~ # ps -ef | grep sshd
root       1425      1  0 06:54 ?        00:00:00 /usr/sbin/sshd -D
root       1561   1425  0 06:54 ?        00:00:06 sshd: root@pts/0
root       1564   1425  0 06:54 ?        00:00:00 sshd: root@notty
root      10186   1567  0 07:18 pts/0    00:00:00 grep --color=auto sshd
KnowledgeIsPower:~ # kill 1561   # 这个时候,我的ssh远程连接就被断开了
区别:
'使用kill命令杀死进程,需要先用ps或者top等命令,查找进程所在的pid号才可以'

killall

语法格式:
killall <参数>
常用参数:
-l:     # 列出系统支持的信号(和kill一样)
-p:     # 杀死进程所属的进程组
-i:     # 交互式杀死进程,杀死进程前需要进行确认
-u:     # 杀死指定用户的进程
命令实例:
KnowledgeIsPower:~ # killall -9 sshd    # 同样的,我的ssh远程连接再次被我咔嚓了
区别:
1: killall比kill方便的地方在于,不需要pid号,只需要有服务的名称,就可以杀死进程
2: suse12会自带killall这个命令;centos则需要安装psmisc才会有killall这个命令

pkill

语法格式:
pkill <参数>
命令实例:
KnowledgeIsPower:~ # pkill sshd  # 同样的,我的ssh远程连接再次被我咔嚓了
区别:
'pkill 和 killall 差不多,都是杀死和指定服务名称相关的进程'

跑路小技巧

'kill命令只能杀死单一的进程,并且依赖进程pid号'
'killall和pkill都是通过服务名,杀死和服务相关的所有进程,所以,这两个命令需要慎用,在你知道会带来怎么样后果的情况下,才可以使用,不然,自己怎么凉的都不知道,多难受'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值