本文共 1477 字,大约阅读时间需要 4 分钟。
killall命令是Linux系统中一个强大的工具,用于快速终止运行中的进程。它不仅可以直接杀死指定进程名称的所有进程,还支持发送不同信号来控制进程状态。
killall的基本用法非常简单:
killall
这个命令会向系统内所有进程名为 <command-name> 的进程发送 SIGTERM 信号。如果这些进程没有捕获该信号,它们将被立即终止。
killall支持通过选项指定发送的信号。信号可以通过名称(如 HUP)或数字(如 15)指定。常用的信号包括:
你可以通过以下格式指定信号:
killall -# 或者killall -
例如:
# 发送终止信号killall -TERM httpd
要查看系统支持的所有信号,可以使用 -l 选项:
killall -l
输出会列出所有支持的信号名称及其对应的数字。
示例一:列出所有支持的信号
[root@jfht ~]# killall -lHUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS UNUSED
示例二:终止 tail 进程
[root@jfht ~]# killall tail[root@jfht ~]# killall tailtail: no process killed[root@jfht ~]#
如果没有找到名为 tail 的进程,killall 会提示 "no process killed"。
示例三:终止登录后台 shell
[root@jfht ~]# w21:56:35 up 452 days, 5:16, 3 users, load average: 0.05, 0.06, 0.01USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATroot pts/1 220.112.87.62 21:53 0.00s 0.02s 0.00s wroot pts/9 220.112.87.62 21:53 2:44 0.02s 0.02s -bashroot pts/10 220.112.87.62 21:53 3:13 0.01s 0.01s -bash[root@jfht ~]# killall -9 bash
在这个示例中,使用 -9 选项强制终止所有名为 bash 的进程。由于这些进程可能没有终端连接,killall 会继续运行,直到进程被强制终止。连接后重新登录后,你会发现这些进程已经被终止。
killall 命令的灵活性和高效性,使其成为每个Linux系统管理员的必备工具。无论是日常操作还是故障排除,killall 都能帮助你快速解决问题。
转载地址:http://iped.baihongyu.com/