6. killall 命令
killall 命令用于通过进程名(而非 PID)终止进程的命令。它会向所有匹配指定名称的进程发送信号(默认 SIGTERM),他比使用 kill 命令 更方便进行批量管理进程。
命令格式
killall [选项] 进程名
常用选项
选项
说明
-s <信号名字>给出发送信号的名字。
-<信号值> 或 -n <信号值>给出发送信号的值。
-r <进程名正则表达式>通过正则表达式匹配进程名。
-u <用户名>仅终止指定用户的进程。
示例
weimingze@mzstudio:~$ killall -s SIGTSTP python3
weimingze@mzstudio:~$ killall -s SIGCONT python3
weimingze@mzstudio:~$ killall -n 18 python3
weimingze@mzstudio:~$ killall -18 python3
weimingze@mzstudio:~$ killall python3
weimingze@mzstudio:~$ killall -9 python3
weimingze@mzstudio:~$ killall -9 -r "pyth*" # 关闭所有命令名以 pyth 开头的进程。
weimingze@mzstudio:~$ killall -u weimingze python3 # 关闭weimingze 用户下所有命令名为 python3的进程。
练习:
- 打开一个终端,在终端内输入命令
sleep 1000,此 sleep 命令会运行 1000 秒或才能退出并放弃终端终端。 - 打开另外一个终端,在终端内输入命令
killall sleep。 - 回到第一个终端,看
sleep 1000命令是否被终止。