kill(1) command
2026/9/11 10:55:54 网站建设 项目流程

文章目录

  • 1.命令简介
  • 2.命令格式
  • 3.选项说明
  • 4.常用示例
  • 5.常见信号
  • 参考文献

大咖好呀,我是恋喵大鲤鱼。

鄙人第二本开源书籍《后台开发命令365》上线啦,欢迎大家协同共建。

1.命令简介

kill 用于终止进程或向进程发送指定信号。

kill 可以发送指定的信号到相应的进程或进程组。不指定信号缺省发送 SIGTERM(15)来终止指定进程。如果想强制终止进程,可以显示指定 SIGKILL(9) 信号,因为该信号无法被进程捕获。

本文介绍的是符合 POSIX 标准的 kill 功能,不同 Linux 发行版对 kill 的实现有所不同,具体参见其对应的帮助手册。

2.命令格式

kill-l[SIGNAL]kill[-s SIGNAL|-SIGNAL]PID...

操作数 PID 有两种取值:

  • 进程 ID 或者进程组 ID;
  • 作业 ID,用于标识运行于后台的一组进程。

3.选项说明

-SIGNAL,-sSIGNAL 指定信号名或信号值。-l[SIGNAL]指定信号名或信号值,转换信号名与信号值。如果不指定信号,则列出所有信号。信号的定义见 /usr/include/linux/signal.h

4.常用示例

(1)强制杀死当前 Shell 进程,退出当前会话。

echo$$20174kill-9|-KILL|-SIGKILL20174

(2)根据进程名称先查找出 PID 再强制杀死。

ps-ef|grepCOMMADNAME|awk'{print $2;}'|xargskill-9

也可以使用 killall 命令根据进程名称杀死进程。

killall-9COMMADNAME

(3)列出所有信号。

kill-l1)SIGHUP2)SIGINT3)SIGQUIT4)SIGILL5)SIGTRAP6)SIGABRT7)SIGBUS8)SIGFPE9)SIGKILL10)SIGUSR111)SIGSEGV12)SIGUSR213)SIGPIPE14)SIGALRM15)SIGTERM16)SIGSTKFLT17)SIGCHLD18)SIGCONT19)SIGSTOP20)SIGTSTP21)SIGTTIN22)SIGTTOU23)SIGURG24)SIGXCPU25)SIGXFSZ26)SIGVTALRM27)SIGPROF28)SIGWINCH29)SIGIO30)SIGPWR31)SIGSYS34)SIGRTMIN35)SIGRTMIN+136)SIGRTMIN+237)SIGRTMIN+338)SIGRTMIN+439)SIGRTMIN+540)SIGRTMIN+641)SIGRTMIN+742)SIGRTMIN+843)SIGRTMIN+944)SIGRTMIN+1045)SIGRTMIN+1146)SIGRTMIN+1247)SIGRTMIN+1348)SIGRTMIN+1449)SIGRTMIN+1550)SIGRTMAX-1451)SIGRTMAX-1352)SIGRTMAX-1253)SIGRTMAX-1154)SIGRTMAX-1055)SIGRTMAX-956)SIGRTMAX-857)SIGRTMAX-758)SIGRTMAX-659)SIGRTMAX-560)SIGRTMAX-461)SIGRTMAX-362)SIGRTMAX-263)SIGRTMAX-164)SIGRTMAX

只有信号 SIGKILL(9) 才可以无条件终止进程,其他终止信号进程都有权捕获忽略。

5.常见信号

下面是 Linux / Unix 中的常见信号:

信号编号英文全称默认动作触发方式说明
SIGHUP1Hangup终止终端关闭挂起信号,通常用于通知进程重新加载配置
SIGINT2Interrupt终止Ctrl+C终端中断,请求进程终止
SIGQUIT3Quit终止 + core dumpCtrl+\退出信号,会生成核心转储文件
SIGABRT6Abort终止 + core dumpabort()/assert()异常终止,通常由程序自身调用,表示检测到严重错误(如断言失败)
SIGKILL9Kill终止kill -9 <pid>强制终止,进程无法捕获或忽略
SIGSEGV11Segmentation Violation终止 + core dump非法内存访问段错误,进程访问了未分配或受保护的内存区域
SIGTERM15Termination终止kill <pid>优雅终止,进程可以捕获并执行清理操作
SIGSTOP19Stop停止kill -STOP <pid>强制暂停,进程无法捕获或忽略
SIGTSTP20Terminal Stop停止Ctrl+Z终端停止,将进程挂起到后台
SIGCONT18Continue继续fg/bg继续执行被停止的进程
SIGUSR110User-defined Signal 1终止用户自定义用户定义信号1
SIGUSR212User-defined Signal 2终止用户自定义用户定义信号2

参考文献

kill(1) - Linux manual page - man7.org
signal(7) - Linux manual page - man7.org
LINUX Signals
Signal (IPC) - Wikipedia

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询