killall

Linux命令:killall用于杀死指定名字的进程(kill processes by name)。

我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,这真是一个太好用的命令了。

常用参数

格式:killall <command-name>
杀死指定名字的进程。实际上是向名字为<command-name>的所有进程发送SIGTERM信号,如果这些进程没有捕获这个信号,那么这些进程就会直接被干掉了。
格式:killall -<signame> <command-name>
格式:killall -<signum> <command-name>
发送指定的信号到名字为<command-name>的所有进程。
指定的信号可以是名称<signame>,也可以是信号对应的数字<signum>。
下面是常用的信号:第一列为<signame>,第二列为<signum>,第三列为信号的含义。
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)
格式:killall -l
列出支持的信号。

示例一

[root@jfht ~]# killall -l
HUP 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
[root@jfht ~]#
示例二
[root@jfht ~]# killall tail
[root@jfht ~]# killall tail
tail: no process killed
[root@jfht ~]#

### 使用 `killall` 命令安全终止 HTTPD 进程 为了安全地终止所有名为 `httpd` 的进程,可以使用 `killall` 命令并结合 `-w` 参数以确保所有目标进程完全结束后再继续其他操作。以下是具体方法: #### 基本语法 `killall` 命令可以通过指定进程名称来一次性终止多个相同名称的进程[^1]。其基本格式为: ```bash killall [选项] 进程名 ``` 对于当前需求,可以直接运行以下命令来终止所有的 `httpd` 进程: ```bash killall httpd ``` #### 添加等待参数 (`-w`) 如果希望脚本或其他后续操作在确认所有 `httpd` 进程已结束后再执行,则可以在命令中加入 `-w` 参数[^2][^4]。这会让 `killall` 命令一直阻塞直到所有指定的进程都已被成功终止。 完整的命令形式如下所示: ```bash killall -w httpd ``` 此命令会先尝试向所有匹配到的 `httpd` 发送默认信号 (通常是 SIGTERM),随后进入等待状态直至这些进程全部退出为止。 #### 验证进程是否被终止 虽然 `killall` 提供了简单有效的方式来管理同类进程,但在实际应用过程中仍建议验证是否有残留实例未正常关闭。可借助 `ps aux | grep httpd` 或者更直观的方式如 `pgrep httpd` 来检查是否存在剩余的 `httpd` 进程[^3]。 如果有任何异常情况发生(例如某些进程未能响应),还可以考虑强制杀死它们,通过附加 `-9` 或 `--signal 9` 给定更强硬的动作给那些顽固不退的服务单元。 ```bash killall -9 httpd ``` 以上就是利用 `killall` 安全停止 `httpd` 所需了解的内容及其实践方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值