一、Kill命令
通常用来终止进程
kill -信号编号 pid号
参数 | |
-l | 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称 |
-a | 当处理当前进程时,不限制命令名和进程号的对应关系 |
-p | 指定kill 命令只打印相关进程的进程号,而不发送任何信号 |
-s | 指定发送信号 |
-u | 指定用户 |
常用信号 | ||
HUP | 1 | 终端断线(重新加载进程) |
INT | 2 | 中断(同 Ctrl + C) |
QUIT | 3 | 退出(同 Ctrl + \) |
TERM | 15 | 终止(正常停止一个进程) |
KILL | 9 | 强制终止(杀死一个进程) |
CONT | 18 | 继续(与STOP相反, fg / bg命令) |
STOP | 19 | 暂停(同 Ctrl + Z) |
二、Killall 命令
killall <选项> 进程名称 杀死所有相关进程(一类进程)
参数:
-e --exact 进程需要和名字完全相符
-I --ignore-case 忽略大小写
-g --process-group 结束进程组
-i --interactive 结束之前询问
-l --list 列出所有的信号名称
-q --quite 进程没有结束时,不输出任何信息
-r --regexp 将进程名模式解释为扩展的正则表达式
-s --signal 发送指定信号
-u --user 结束指定用户的进程
-v --verbose 显示详细执行过程
-w --wait 等待所有的进程都结束
-V --version 显示版本信息
三、pkill命令
pkill <选项> 进程名称
参数 | |
-o | 仅向找到的最小(起始)进程号发送信号 |
-n | 仅向找到的最大(结束)进程号发送信号 |
-P | 指定父进程号发送信号 |
-g | 指定进程组 |
-t | 指定开启进程的终端 |
-U | 指定用户名称 |
[root@ljp /]# ps -au
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1623 0.0 1.5 298600 15672 tty1 Ssl+ 08:14 0:00 /usr/bin/X :0 -background none -norese
root 7631 0.0 0.3 116892 3364 pts/0 Ss 09:20 0:00 -bash
root 8199 0.0 0.3 232288 3968 pts/0 S 09:28 0:00 su
root 8202 0.0 0.3 117168 3764 pts/0 S 09:28 0:00 bash
paul 8264 0.0 0.3 117012 3380 pts/1 Ss 09:28 0:00 -bash
paul 15504 0.0 0.5 149584 5128 pts/1 S+ 11:16 0:00 vim
root 15570 0.0 0.1 155448 1868 pts/0 R+ 11:17 0:00 ps -au
使用pkill命令
[root@ljp /]# pkill -U paul
用户paul的进程都被kill,终端被退出