Skip to content

进程控制

kill 命令

基本用法

bash
#!/bin/bash

# 终止进程
kill PID

常用信号

bash
#!/bin/bash

# SIGTERM (15): 正常终止进程
kill -15 PID

# SIGKILL (9): 强制终止进程
kill -9 PID

# SIGHUP (1): 重新加载配置
kill -1 PID

killall 命令

基本用法

bash
#!/bin/bash

# 终止所有同名进程
killall process_name

使用信号

bash
#!/bin/bash

# 使用 SIGTERM 终止进程
killall -15 process_name

# 使用 SIGKILL 终止进程
killall -9 process_name

pkill 命令

基本用法

bash
#!/bin/bash

# 根据名称终止进程
pkill process_name

使用模式

bash
#!/bin/bash

# 根据模式终止进程
pkill -f "pattern"

实用示例

示例1:终止进程

bash
#!/bin/bash

# 终止进程
kill 1234

# 强制终止进程
kill -9 1234

示例2:终止所有同名进程

bash
#!/bin/bash

# 终止所有同名进程
killall nginx

# 强制终止所有同名进程
killall -9 nginx

示例3:根据模式终止进程

bash
#!/bin/bash

# 根据模式终止进程
pkill -f "nginx"

# 根据模式终止进程(忽略大小写)
pkill -i "nginx"

示例4:重新加载配置

bash
#!/bin/bash

# 重新加载配置
kill -1 PID

# 重新加载所有同名进程的配置
killall -1 nginx

最佳实践

1. 使用 SIGTERM

bash
# 好的做法
kill -15 PID

# 不好的做法
kill -9 PID

2. 使用 killall

bash
# 好的做法
killall nginx

# 不好的做法
kill $(pidof nginx)

3. 使用 pkill

bash
# 好的做法
pkill -f "nginx"

# 不好的做法
ps aux | grep nginx | awk '{print $2}' | xargs kill

总结

进程控制的关键点:

  1. kill 命令:终止进程
  2. killall 命令:终止所有同名进程
  3. pkill 命令:根据模式终止进程
  4. 常用信号:SIGTERM、SIGKILL、SIGHUP
  5. 实用示例:终止进程、终止所有同名进程、根据模式终止进程、重新加载配置
  6. 最佳实践:使用 SIGTERM、使用 killall、使用 pkill

下一节我们将学习进程优先级的使用。