kill掉用户进程的方法

2019-08-12 14:25:47 admin

大家好,我是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向进程发送信号的时候 必须是进程的主人 要么会报错 

服务热线

17884544032

公司地址

安徽省合肥市蜀山区鑫鹏大厦

作息时间

周一至周五 9:00-18:00