在Linux中进程通过信号互相通信.结束进程本质就是向进程发送结束信号.
结束进程信号如下:
| 信号 | 名称 | 描述 |
|---|---|---|
| 1 | HUP | 挂起 |
| 2 | INT | 中断 |
| 3 | QUIT | 结束运行 |
| 9 | KILL | 无条件终止 |
| 11 | SEGV | 段错误 |
| 15 | TERM | 尽可能终止 |
| 17 | STOP | 无条件停止运行但不终止 |
| 18 | TSTP | 停止或暂停,但继续在后台运行 |
| 19 | CONT | 在STOP或TSTP之后恢复运行 |
通过kill和killall命令向进程发送信号
kill
kill通过进程PID向进程发送信号,默认发送TERM信号.
语法:
kill [-s HUP|INT|...] PID
条件:
- 执行用户必须为进程user或者root用户
- -s 可以执行
示例:
kill 1234
killall
通过进程名来结束进程, 支持通配符
pkill
pkill will send the specified signal (by default SIGTERM) to each process instead of listing them on stdout.
语法:
pkill [options] pattern
pattern 明确一个可扩展的正则表达式匹配的进程名或命令
选项:
| -f | 不带选项pattern匹配进程名; 带来pattern还匹配命令 |
|---|---|
