Linux之kill命令

article/2025/10/18 19:11:01

【Linux常用命令速查手册】关注【入门小站】,后台回复 「1001」 自取。

Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令。通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程。kill命令是通过向进程发送指定的信号来结束相应进程的。在默认情况下,采用编号为15的TERM信号。TERM信号将终止所有不能捕获该信号的进程。对于那些可以捕获该信号的进程就要用编号为9的kill信号,强行“杀掉”该进程。

命令格式

kill[参数][进程号

命令功能

发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。

命令参数

  • -l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
  • -a 当处理当前进程时,不限制命令名和进程号的对应关系
  • -p 指定kill 命令只打印相关进程的进程号,而不发送任何信号
  • -s 指定发送信号
  • -u 指定用户

命令说明

  • kill命令可以带信号号码选项,也可以不带。如果没有信号号码,kill命令就会发出终止信号(15),这个信号可以被进程捕获,使得进程在退出之前可以清理并释放资源。也可以用kill向进程发送特定的信号。例如:kill -2 123

  • 它的效果等同于在前台运行PID为123的进程时按下Ctrl+C键。但是,普通用户只能使用不带signal参数的kill命令或最多使用-9信号。

  • kill可以带有进程ID号作为参数。当用kill向这些进程发送信号时,必须是这些进程的主人。如果试图撤销一个没有权限撤销的进程或撤销一个不存在的进程,就会得到一个错误信息。

  • 可以向多个进程发信号或终止它们。

  • 当kill成功地发送了信号后,shell会在屏幕上显示出进程的终止信息。有时这个信息不会马上显示,只有当按下Enter键使shell的命令提示符再次出现时,才会显示出来。

  • 应注意,信号使进程强行终止,这常会带来一些副作用,如数据丢失或者终端无法恢复到正常状态。发送信号时必须小心,只有在万不得已时,才用kill信号(9),因为进程不能首先捕获它。要撤销所有的后台作业,可以输入kill 0。因为有些在后台运行的命令会启动多个进程,跟踪并找到所有要杀掉的进程的PID是件很麻烦的事。这时,使用kill 0来终止所有由当前shell启动的进程,是个有效的方法。

列出所有信号名称

> kill -l1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR1
11) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX

只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。 下面是常用的信号:

  • HUP 1 终端断线
  • INT 2 中断(同 Ctrl + C)
  • QUIT 3 退出(同 Ctrl + \)
  • TERM 15 终止
  • KILL 9 强制终止
  • CONT 18 继续(与STOP相反, fg/bg命令)
  • STOP 19 暂停(同 Ctrl + Z)

得到指定信号的数值

> kill -l KILL
9

先用ps查找进程,然后用kill杀掉

> ps -ef | grep java
root     16934     1  0 Feb25 ?        00:18:13 java -jar demo.jar//彻底杀死该进程
> kill -9 16934

强制杀死所有和java相关的所有进程

> kill -9 $(ps -ef | grep java) 

强制杀死deploy用户起的进程

> kill -u deploy

init进程是不可杀的

> kill -9 1

init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。 其它所有进程都是init进程的子孙。init进程是不可杀的!

原文链接:https://rumenz.com/rumenbiji/linux-kill.html
微信公众号:入门小站

【Linux常用命令速查手册】关注【入门小站】,后台回复 「1001」 自取。


http://chatgpt.dhexx.cn/article/9QwvSr2Q.shtml

相关文章

(Linux)kill命令常用技巧

前言 在Linux的系统中,kill是我们最常见的命令之一。 kill,英语中为杀死的意思,顾名思义,就是用来杀死一些东西的命令,用来杀死系统中的进程。就像是Windows系统中的关闭软件的按钮或任务管理器的结束任务,…

Linux 进程kill -9 无法杀死解决方案

从下述案例中可以看到使用kill -9 28051并未将28051进程杀死 [rootiZufxxxxxxxxxxxx2tnZ devops-xxl-job]# kill -9 28051 [rootiZufxxxxxxxxxxxx2tnZ devops-xxl-job]# jps 28051 Launcher 29247 Jps [rootiZufxxxxxxxxxxxx2tnZ devops-xxl-job]# jps 28051 Launcher 29539 J…

常用的 kill 命令,来了解一下!

开发和运维,开发和测试基本上不分家。所以市面上存在很多的开发运维、运维开发、测试开发等岗位。如果你连 kill 命令都还不会,怎么好意思说你是一个合格的开发呢? 除了开发,工作或者生活当中,也存在着非常多的“异常程…

kill命令 和 kill函数

kill命令 kill命令是一个在Unix、Linux和类似系统中用于终止(停止)进程的命令。通过kill命令,可以向指定的进程发送一个信号,从而影响进程的运行状态。默认情况下,kill命令发送一个TERM信号,让进程优雅地退…

Linux 之 kill 命令

一. kill命令简介 在Linux系统中,kill命令用于向运行中的进程发送信号,默认发送的信号是终止信号,会请求进程退出。kill(杀)可能会引起误解,实际上发送的信号可能与杀死进程无关。 我们最常使用到的kill命令…

TR069 ACS

TR-069是由DSL论坛(www.dslforum.org)所开发的技术规范之一,其全称为“CPE广域网管理协议”。它提供了对下一代网络中家庭网络设备进行管理配置的通用框架和协议,用于从网络侧对家庭网络中的网关、路由器、机顶盒等设备进行远程集…

tr069 Cpe ACS 模拟器

完美支持tr069报文调试,支持反向链接,0 /1/2/4/等事件,支持信令,支持流程组合,支持PNP,告警等 文件下有config.ini,修改相关配置即可使用 支持批量开站心跳等. 版本历史: 1.0 增加业务网管开站 增加初始网管开站 1.1 优化 1.2 支持CWMP-ID 1.3 增加位置绑定 1.3…

基于TR069协议管理平台(XACS)多场景解决方案之一《TR069测试平台》

TR069测试平台(XACS) 为CPE设备TR069协议开发优化的版本,支持TR069协议基本操作,并可跟踪报文交互,适用于协议功能测试 1. TR069基本操作 支持TR069规范基本操作,GetRPCMethods, GetParameterValues, SetParameterValues, GetPar…

TR069相关问题

TR069相关问题 1.出现tr069客户端不稳定现象2.上传配置不成功3.浏览器不兼容4.上报给网管的报文被拦截5.网管问题6.升级失败 1.出现tr069客户端不稳定现象 网管下发了某些设置命令或者设置wan连接重新启用了cwmpd进程 2.上传配置不成功 command_key值没有对应,赋…

TR069协议向导——一个帮助你了解TR069协议的简明教程(一)【转】

(转自:https://blog.csdn.net/dreamcode/article/details/3864715) 1.为什么需要TR069 随着VoIP、IPTV等越来越多IP终端设备的普及(尤其在家庭中的普及),大量设备的配置和维护变得越来越困难&#xff0…

使用电信 TR069 内网架设 WireGuard 隧道异地组网

❝ 本文转自 Steins;Gate,原文:https://www.kryii.com/89.html,版权归原作者所有。欢迎投稿,投稿请添加微信好友:cloud-native-yang TR069 内网是运营商用于下发光猫管理网络的内网,同一运营商同一省份的内…

博通Broadcom SDK源码学习与开发12终结篇——TR069网管协议

声明:原创作品,严禁用于商业目的。 本系列文章将全面剖析以Bcm33xxx芯片开发Cablemodem产品的SDK源码为例,从编译系统到各个功能模块进行分析与探讨。 文章目录 0.写在前篇1. TR069的Makefile和源码2. 配置参数2.1 CLI命令2.2 CM ConfigFile…

TR069协议与商业应用1——概述(带目录索引)

声明:原创作品,严禁用于商业目的。 如有任何技术问题,欢迎和我交流:19826269205(微信同号)。 学习链接 免费学习 文章目录 1. 概述1.1 引言1. 2 TR069协议规范1.3 Easycwmp介绍1.4 TR069协议服务端测试工具…

TR069协议与商业应用4——TR069服务器测试工具

声明:原创作品,严禁用于商业目的。 如有任何技术问题,欢迎和我交流:19826269205(微信同号)。 腾讯课堂链接 B站免费视频部分 文章目录 1. openACS2. VigorACS3. XACS3.1 概述3.2. 设备接入3.3 管理端登录…

TR069-STUN

该模块依据TR-111实现STUN Server功能,基站设备(CPE)作为STUN Client,向STUN Server发送BINDING-REQUEST,CPE通过BINDING-RESPONSE响应消息获取设备是否在NAT之后,以及NAT类型。 如果设备在NAT之后&#xf…

TR069 测试

对于需要测试TR069的用户,可以使用一个免费的测试平台。 测试方法可以参考下面的流程: TR069智能云平台提供了完全免费的终端自动配置系统. 1.首先登录到http://39.106.195.193:9090/acscloud 注册您的用户 2.注册成功后,在您的设备端配置ACS…

TR069协议与商业应用5——TR069协议架构设计

声明:原创作品,严禁用于商业目的。 如有任何技术问题,欢迎和我交流:19826269205(微信同号)。 腾讯课堂链接 B站免费视频部分 文章目录 1. TR069(CWMP)程序设计思想2. 架构分析3. T…

TR069协议

TR069( Technical Report 069)全称是“ CPE广域网管理协议(CWMP),用于远程终端管理,是 CPE 和 ACS之间沟通的通讯协定。CPE 可以借着这个协定完成服务开通、功能设定、档案上传下载、系统检测 等等初始化及…

TR069浅析

何为TR069? TR069, 全称“Technical Report 069”是由DSL Forum修订的一份技术规范,该规范是应用层的管理协议,命名为“CPE广域网管理协议”。 TR069定义了一套全新的网管体系结构,包括管理模型,交互接口及基本的管理…

TR069

tr069简介 全称是“用户终端设备广域网管理协议(CWMP) 用于远程终端管理,比如远程的配置阿什么的(对远程的设备进行配置等管理) 1. TR069协议网络架构 ACS为自动配置服务器,负责对终端设备CPE进行管理…