kill掉用户进程的方法
2019-08-03 11:19:05 Author: mp.weixin.qq.com(查看原文) 阅读量:53 收藏

大家好,我是pual,今天我们来分享一下kill掉用户进程的方法,或者说kill制定进程的方法

首先我们可以选择kill -l来列出所有全部的信号名称

killall命令并不是自带的,需要安装,在centos下安装方法如下:

yum install psmisc

Killall进程杀不死自己,但可以杀死其他killall进程。

常用的仍然是

HUP(终端断线),

INT(中断,同<Ctrl> c),

QUIT(退出,同<Ctrl> \),

KILL(强制终止),

TERM(缺省信号,终止,正常结束),

CONT(继续,同fg/bg命令),

STOP(停止),

TSTP(暂停,同<Ctrl> Z)

killall实例:

Killall nginx/killall -9 bash 杀死所有同名的进程 

Killall -TERM nginx/killall -KILL nginx 发送指定的命令

先说一下kill的命令格式 

Kill[参数][进程

-l  信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-a  当处理当前进程时,不限制命令名和进程号的对应关系
-p  指定kill 命令只打印相关进程的进程号,而不发送任何信号
-s  指定发送信号
-u  指定用户

只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。   

下面是常用的信号:
HUP    1    终端断线
INT     2    中断(同 Ctrl C)
QUIT    3    退出(同 Ctrl \)
TERM   15    终止
KILL    9    强制终止
CONT   18    继续(与STOP相反, fg/bg命令)
STOP    19    暂停(同 Ctrl Z)

程序运行也会产生进程 如果说要关闭程序 也可使用kill来实现 原理就是杀死进程 程序自动也就关闭了 但是kill只能说是杀死单个进程 一个个来弄太过于麻烦 这时候我们可以来用pkill跟killall来实现

这是例子程序是httpd

Pkill -9 httpd或者是killall -9 httpd

也可以用来提出登陆的用户

w来查看用户登录信息

Who am i查询当前你自己的身份

然后来用  pkill -kill -t 终端

Pkill -u 用户名

还可以得到制定信号的数值

kill -l KILL 9
kill -l SIGKILL 9
kill -l TERM 15
kill -l SIGTERM 15

但是大多数我用的方法都是先用ps查找到进程然后kill杀掉

Kill 1238

彻底杀死进程

Kill -9 1238

友情提示下:在使用kill时 如果使用的是信号9命令 强制终止的 可能会丢失数据或者说终端无法恢复到正常状态 在使用kill向进程发送信号的时候 必须是进程的主人 要么会报错 


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjE3ODU3MQ==&amp;mid=2650456362&amp;idx=3&amp;sn=f33212d2eb7490651190ac23408808c6&amp;chksm=83bba4ceb4cc2dd876d69994a085d9c6a917b0e2c0f155ef61360f0a5e18cbafac3a2be55a5e#rd
如有侵权请联系:admin#unsafe.sh