Linux常用命令学习笔记:kill

命令功能

kill命令用于向进程发送指定的信号,默认发送SIGTERM(15)信号,用于终止进程。该命令通过进程ID(PID)来指定要操作的进程。

基本语法

kill [选项] [信号] 进程ID

常用信号

信号编号信号名称说明
1SIGHUP挂起信号,让进程重新读取配置文件
2SIGINT中断信号(Ctrl+C)
3SIGQUIT退出信号(Ctrl+\)
9SIGKILL强制终止进程,无法被捕获或忽略
15SIGTERM默认信号,正常终止进程
18SIGCONT继续执行已停止的进程
19SIGSTOP暂停进程(Ctrl+Z)

选项说明

  • -l, –list:列出所有信号名称
  • -s, –signal:指定要发送的信号
  • -a, –all:不限制进程名
  • -p, –pid:只显示进程ID,不发送信号
  • -q, –queue:使用实时信号

使用示例

1. 终止指定进程

# 终止进程ID为1234的进程
kill 1234
# 或使用信号编号
kill -15 1234
# 或使用信号名称
kill -SIGTERM 1234

2. 强制终止进程

# 强制终止进程ID为1234的进程
kill -9 1234
# 或使用信号名称
kill -SIGKILL 1234

3. 列出所有信号

# 列出所有信号名称
kill -l

4. 终止多个进程

# 同时终止多个进程
kill 1234 5678 9012

5. 让进程重新读取配置文件

# 发送SIGHUP信号,让进程重新加载配置
kill -1 1234
# 或
kill -HUP 1234

注意事项

  1. 只有进程的所有者或root用户才能终止进程
  2. SIGKILL(9)信号无法被进程捕获或忽略,会强制终止进程,可能导致数据丢失
  3. 建议先使用SIGTERM(15)信号正常终止进程,如果无效再使用SIGKILL
  4. 可以使用ps、top等命令查看进程ID
  5. 使用killall命令可以根据进程名终止进程

相关命令

  • killall:根据进程名终止进程
  • pkill:根据进程名或其他属性终止进程
  • ps:查看进程状态
  • top:实时显示进程状态
  • pgrep:根据名称查找进程ID

实际应用场景

  • 终止无响应的程序
  • 重新加载服务配置
  • 清理僵尸进程
  • 系统维护时终止特定进程
  • 批量管理进程

作 者:南烛
链 接:https://www.itnotes.top/archives/586
来 源:IT笔记
文章版权归作者所有,转载请注明出处!


上一篇
下一篇