(Linux)kill命令常用技巧

article/2025/10/18 18:57:53

前言


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

下面就介绍一下,kill是如何杀死进程的。



kill命令的参数


在Linux系统中命令都是有参数的,这给了我们很多的选择,但是kill的重点不在于参数而是信号,下面就是kill的一些参数(简单了解即可)

-a 当处理当前进程时,不限制命令名和进程号的对应关系
-Z 只杀死拥有scontext 的进程
-e 要求匹配进程名称
-I 忽略小写
-g 杀死进程组(不是进程)
-i 杀死进程前会先询问用户
-l 列出所有的已知信号名称
-q 禁止输出警告信息
-s 发送指定的信号
-v 显示报告信号是否成功发送
-w 等待进程死亡
-u 指定用户
–version 显示版本显示



kill的信号


kill命令的实现是通过发送指定的信号到相应进程来实现的,就像是电视遥控器一样。一般先用ps 或top命令查到进程的id,再使用kill杀死。


【1】格式: kill + 信号 + 进程号

(kill是简洁的,一般直接加上信号和进程id,直接杀死,命令的参数反而不常用)


【2】常用kill的信号

kill -l 即可查出kill的所有的信号(共有64种)

这里写图片描述

但是常用的只有9种信号:

<1> 1 终端断线

<2>2 中断(等同 Ctrl + C)

<3>3 退出(同 Ctrl + \)

<4>15 终止(可以使得进程在退出之前清理并释放资源)

<5> 9 强制终止

<6>18 继续(与19相反)

<7>19 暂停(等同 Ctrl + Z)



kill的实际应用

kill只可杀死单个进程;pkill和killall可杀死多个进程


【1】彻底杀死进程

当我们杀掉父进程时,其下的子进程也会被杀死
kill -9 常用来杀死僵尸进程

格式:kill -9 进程id

<1>查出服务的进程id
ps aux |grep httpd

<2>杀死进程(3645为查到的进程id)
kill -9 3645


【2】杀死程序

程序的运行会产生进程,所以可以通过杀死进程来关闭程序,可以使用kill来实现,但是,kill只可杀死单个进程,如果一个一个杀,有点费时间(也可 ps aux |grep httpd | awk ‘{ print $2 }’ |xargs kill -9 )。

我们这时就可以通过pkill和killall来实现,杀死程序。

<1>直接杀死程序(httpd为程序名)
pkill -9 httpd

killall -9 httpd


【3】强制踢掉登陆用户

有的时候,可能我们的系统中有很多用户在同时登陆这一台服务器,而我们想要踢掉某个不良用户,就可以执行如下操作。

<1>查看用户登陆信息
w

这里写图片描述

<2>查看自己的身份(避免把自己踢掉)
who am i

<3>踢掉用户ats

pkill -kill -t pts/2(按终端踢,pts/2为所踢用户的终端)

pkill -u ats(按用户名踢,ats为用户名)



kill的注意事项

1.如果kill时,不指定信号就会默认发送信号15,终止指定进程,使得进程在退出之前清理并释放资源。

2.使用kill时,root用户将影响用户的进程,非root用户只能影响自己的进程。

3.使用kill时,当kill向进程发送信号,必须是这些进程的主人。如果杀死一个没有权限杀死的进程或杀死一个不存在的进程,就会报错。如下:
-bash: kill: (20) - No such process

4.使用kill时,如果成功地发送了信号,shell会在屏幕上显示出进程的终止信息。(按下Enter键,就会显示出来)

5.使用kill时,如果使用信号9,使进程强行终止,可能会使数据丢失或者终端无法恢复到正常状态。

6.init进程,它是一个由内核启动的用户级进程,所有进程都是init进程的子孙,init不可杀。


http://chatgpt.dhexx.cn/article/oG6pbRbW.shtml

相关文章

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 命令,来了解一下!

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

kill命令 和 kill函数

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

Linux 之 kill 命令

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

TR069 ACS

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

tr069 Cpe ACS 模拟器

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

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

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

TR069相关问题

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

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

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

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

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

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

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

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

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

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

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

TR069-STUN

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

TR069 测试

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

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

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

TR069协议

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

TR069浅析

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

TR069

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

CWMP协议(TR069协议)学习

文中借鉴了一些大神的整理&#xff0c;后面会贴上链接&#xff0c;如侵删 目录 一、概念&#xff08;来自百度百科&#xff09; 二、网络元素 三、基本功能 四、CWMP协议栈 五、远程调用方法&#xff08;RPC&#xff09;详细的RPC方法定义请参见TR-069 六、inform的事件…