3、kill、killall 发送信号
1、kill 命令
向指定进程发送信号。通过PID发送信号。
- 默认发送 TERM 信号(15),用于终止进程。
- 若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。
- 使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。
语法:
kill [参数或信号] 进程号
参数:
- -l 信号,如果不加信号的编号参数,则使用“-l”参数会列出所有可用的信号名称
- -a 当处理当前进程时,不限制命令名和进程号的对应关系
- -p 指定kill 命令只打印相关进程的进程号,而不发送任何信号
- -s 指定发送信号
- -u 指定用户
常用信号:
- 1 (HUP):重新加载进程。
- 9 (KILL):杀死一个进程。
- 15 (TERM):正常停止一个进程。
使用 kill -l [信号编号] 查询对应信号名称,如不指定编号,则列出所有可用的信号名称
[root@localhost ~]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX [root@localhost ~]# kill -l 9 KILL [root@localhost ~]# kill -l SIGKILL 9 [root@localhost ~]# kill -9 2428
2、killall 命令
通过进程名发送信号。
- 使用进程的名称来杀死一组进程,与 kill 不同的是它会杀死指定名字的所有进程
语法:
killall [选项] 进程名
选项:
-e, --exact 要求精确匹配进程名 -I, --ignore-case 忽略大小写 -i, --interactive 交互式操作,杀死前询问 -r, --regexp 使用正则表达式匹配 -s, --signal 发送指定信号(默认TERM) -u, --user 只杀死指定用户的进程 -v, --verbose 显示详细信息
-g , --process-group 结束进程组
-l ,--list 列出所有的信号名称
-q ,--quite 进程没有结束时,不输出任何信息
-w , --wait 等待所有的进程都结束
--help 显示帮助信息
例子
# 终止所有名为"firefox"的进程 killall firefox # 强制终止所有chrome进程 killall -9 chrome killall -KILL chrome # 交互式终止(确认每个进程) killall -i vim # 忽略大小写 killall -I SSHd
本文来自博客园,作者:chao_xiong,转载请注明原文链接:https://www.cnblogs.com/chao-xiong/p/16318039.html

浙公网安备 33010602011771号