在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信号.

语法:

  1. 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还匹配命令