Linux中强制终止无响应进程需先用ps/grep、pgrep或pidof查PID,再用kill发送SIGTERM(-15)安全退出;若无效则用kill -9发SIGKILL(-9)强制终止;pkill按名批量操作,killall按完整文件名精确终止。

如果您在Linux系统中遇到进程无响应或卡死的情况,无法通过常规方式退出,则需要使用命令行工具强制终止该进程。以下是解决此问题的步骤:
一、查找目标进程的PID
在执行终止操作前,必须先确定目标进程的进程ID(PID),否则无法准确作用于指定程序。可通过ps、pgrep或pidof等命令结合关键词检索获取。
1、使用ps与grep组合查找包含关键词的进程:
ps aux | grep 程序名
2、使用pgrep直接输出匹配进程的PID:
pgrep 程序名
3、若已知进程完整名称,可用pidof获取PID:
pidof 程序名
二、使用kill发送标准终止信号
kill命令默认发送SIGTERM信号(编号15),该信号允许进程执行清理操作后自行退出,属于安全终止方式,适用于多数正常响应的进程。
1、向指定PID发送SIGTERM信号:
kill PID数值
2、确认进程是否已退出:
ps -p PID数值 -o pid,comm=
三、使用kill -9强制终止不可中断进程
SIGKILL信号(编号9)无法被进程捕获或忽略,会立即终止进程所有线程并释放资源,适用于已僵死(D状态)、无响应或拒绝退出的进程。
1、向目标PID发送SIGKILL信号:
kill -9 PID数值
2、验证进程是否消失:
ps -p PID数值 -o pid= 2>/dev/null | wc -l
四、使用pkill按名称批量终止进程
pkill支持通过进程名、用户、终端等属性匹配并发送信号,避免手动查找PID,适合快速终止同名多个实例或用户级全部进程。
1、向所有匹配进程名的实例发送SIGTERM:
pkill 程序名
2、强制终止所有匹配进程名的实例:
pkill -9 程序名
3、仅终止指定用户的某类进程:
pkill -u 用户名 程序名
五、使用killall按完整名称精确终止
killall依据进程的完整可执行文件名进行匹配,区分大小写且不支持模糊匹配,适合确保只影响目标程序而避免误杀。
1、向所有同名进程发送SIGTERM:
killall 完整程序名
2、强制终止所有同名进程:
killall -9 完整程序名
3、忽略大小写匹配并终止:
killall -I 程序名










