_Linux结束进程到底有多少种方法?

请关注本头条号,每天坚持更新原创干货技术文章。

如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习。

1. 前言

我们经常在Linux里使用kill命令来结束某后台进程。但kill命令实际上是向进程发送信号,并且有多种信号。终止运行一个程序只是其中一个信号而已。kill是根据进程号发送信号的,而另一个工具killall是根据进程名称发送信号的。

2. 查看kill支持的信号

[root@zcwyou ~]# kill -l

1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP

6) 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

12f986fe3b30f120cd1ddc30002eb0b2.png

linux查看kill选项

3. 结束进程

普通用户只能使用不带signal参数的kill命令

一般情况下,最多使用-9信号。即强制结束某个进程。

比如强制结束进程号为123的进程。

先确认进程号:

[root@zcwyou ~]# top
0ba689a6c4d180ec2e79017cb2739c37.png

linux查看进程号

然后根据进程号强制结束:

[root@zcwyou ~]# kill -9 123

默认情况,kill使用信号15结束进程,并且是安全的。而信号 9 则是处理异常进程的,请勿滥用

4. kill其它常用信号

代号名称内容1SIGHUP启动被终止的程序,可让该进程重新读取自己的配置文件,类似重新启动。2SIGINT相当于用键盘输入 [ctrl]-c 来中断一个程序的进行。9SIGKILL代表强制中断一个程序的进行,如果该程序进行到一半,那么尚未完成的部分可能会有“半产品”产生,类似 vim会有 .filename.swp 保留下来。15SIGTERM以正常的方式来终止该程序。由于是正常的终止,所以后续的动作会将他完成。不过,如果该程序已经发生问题,就是无法使用正常的方法终止时,输入这个 signal 也是没有用的。19SIGSTOP相当于用键盘输入 [ctrl]-z 来暂停一个程序的进行。

5. 杀死用户user1的所有进程

[root@zcwyou ~]# kill -9 $(ps -ef | grep user1)

或者

[root@zcwyou ~]# kill -u user1

6. 另一个工具killall命令,根据进程名称发送信号,而不是进程号

以CentOS7.5为例,默认情况并没有安装killall命令。

运行以下命令安装软件:

[root@zcwyou ~]# yum -y install psmisc
2a530ecc7c5eac9c3f8d800dd33b19bc.png

linux安装killall命令

先查看正在运行的进程

[root@zcwyou ~]# ps -ef 

结束一个名为abc的进程,默认情况下使用SIGTERM命令。

[root@zcwyou ~]# killall abc

查看killall支持的信号

[root@zcwyou ~]# killall -l

HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS UNUSED

8da76fdf2469cb838aa71b6a0028301a.png

linux结束进程命令killall支持的信号

注意:假如进程的名字的长度小于等于15,默认情况下就会以完整名称匹配。

7. 还有一个pkill命令,也是根据进程名称发送信号,类似于killall

pkill选项

-o:仅向找到的最小(起始)进程号发送信号;

-n:仅向找到的最大(结束)进程号发送信号;

-P:指定父进程号发送信号;

-g:指定进程组;

-t:指定开启进程的终端。

例子:

结束进程abc

pkill abc

以CentOS7.5为例,默认情况下,系统并没有集成pkill命令。而是要自行安装。

[root@zcwyou ~]# yum -y install procps-ng
0eb9545ee647325e65ead4cf079b1cff.png

Linux安装pkill工具结束进程

8. 总结

Linux下结束进程的工具有很多,这里仅仅了解一些常用的命令。

本文已同步至博客站:

https://www.linuxrumen.com/cyml/400.html

点击了解更多,快速查看更多的技术文章列表。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

svg mysql_SVG 实例

SVG 实例简单的 SVG 实例一个简单的SVG图形例子:这里是SVG文件(SVG文件的保存与SVG扩展):/p>"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">stroke-width"2" fill"red" />SVG 代码解析:第一行…

Failed to import pydot

在使用keras进行模型绘制的时候,出现了一个错误 Failed to import pydot. You must install pydot and graphviz for pydotprint to work. 下面是解决方案,使用命令sudo apt-get install graphviz,将graphviz安装在系统环境下,不要…

mulitpartfile怎么接收不到值_光端机电源正常,但是运行不了怎么办?

光端机,是光信号传输的终端设备,在安防领域有很好的应用。伴随着监控的发展,视频光端机就是把1路到多路的模拟视频信号通过各种编码转换成光信号通过光纤介质来传输的设备分,分为模拟光端机和数字光端机。其中,光传输系…

java as操作_java 对类型的基本操作小结

1.json 字符串转换成对象SyncCarriageStatusDTO dto JSON.parseObject(value,SyncCarriageStatusDTO.class);List pparams JSON.parseObject(dto.getData(),new TypeReference>() {});2.对象转换成字符串对象String data JSON.toJSONString(pkg);2.枚举字符串转换成枚举类…

aes 加密_结合RSA与AES实现前后端加密通信

结合RSA与AES实现前后端加密通信一、思路使用RSA秘钥生成工具生成一对公钥(A)和私钥(B),前端保留A,后端保留B。前端发送数据时,先生成一串随机16位字符串作为AES的秘钥(C),然后使用A使用RSA算法对C进行加密,得到加密后…

cxf java调用.net_CXF在项目中的真实运用--WS访问客户端编写[java、.net]

一、首先,CXF的WS实现类由于实现了和Spring的无缝集成,因此可以采用Spring的单元测试来测试基本功能。代码如下:[java]package com.defshare.sy.test.biz;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import…

中值滤波去除图像噪声的matlab程序

中值滤波:基于排序理论的一种能有效抑制噪声的非线性信号处理技术。 方法:取含有基数(偶数会有半像素的差)个模板数据的滑动模板,对模板中的数据从小到大排序,取排在中间位置上的数据作为最终的处理结果。 …

android 音乐app 进度条_让这些可爱的APP成为你的生活好帮手

对于可爱美观的东西,绝大多数人都会喜欢,尤其是女孩子。今天给大家推荐一波可爱又实用的APP,让它们成为你的生活好助手。以下应用在手机应用商店搜索即可下载。01 喵喵记账 支持 iOS 和 Android,免费谈到记账,很多…

java中scanner与hashmap_Java中HashMap的使用练习

问题:给定任意一个字符串“today is a special day”,长度为任意,要求找出其出现次数最多的字符及计算次数。(可以用HashMap,HashSet,Collections实现)解决:利用HashMap和HashSet解决。代码:imp…

计蒜客NOIP2017提高组模拟赛(四)day1

T1:小X的质数 小 X 是一位热爱数学的男孩子,在茫茫的数字中,他对质数更有一种独特的情感。小 X 认为,质数是一切自然数起源的地方。 在小 X 的认知里,质数是除了本身和 1 以外,没有其他因数的数字。 但由于小 X 对质数…

c# combobox集合数据不显示_Excel也能玩转百万数据

最近一方君工作中要查询编辑很多的数据(超过30万行,25个字段),这么多数据放在Excel表中当然是没办法操作的,筛选的时候很容易崩溃,原来用得很顺滑的一些公式,一计算就未响应,多点几下…

kcp-go源码解析

概念ARQ:自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层的错误纠正协议之一.RTO:Retransmission TimeOutFEC:Forward Error Correctionkcp简介kcp是一个基于udp实现快速、可靠、向前纠错的的协议,能以比TCP浪费10%-20%的带宽的代价,换…

scada系统集成_MES/MOM与WMS系统集成应用案例-系统接口、交互数据分析

写在面前(By 小智)前面我们介绍了西门子、罗克韦尔、施耐德、达索等的MES/MOM平台(见文末推荐)也绍和分析了MES与ERP之间的系统集成案例:MES与EPR进行系统集成的实际案例-系统接口、交互数据分析同时分享了各种系统之间集成的文章:Teamcenter、TIA Porta…

java环境变量设置详解_JAVA环境变量配置详解(Windows)

JAVA环境变量JAVA_HOME、CLASSPATH、PATH设置详解Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。JAVA_HOME指向的是JDK的安装路径,如C:\jdk1.5.0_06,在这路径下你应该能够找到bin、lib等目录。( 今晚使用新系统配置&…

【BZOJ1924】【SDOI2010】所驼门王的宝藏(Tarjan,SPFA)

题目描述 在宽广的非洲荒漠中,生活着一群勤劳勇敢的羊驼家族。被族人恭称为“先知”的Alpaca L. Sotomon是这个家族的领袖,外人也称其为“所驼门王”。所驼门王毕生致力于维护家族的安定与和谐,他曾亲自率军粉碎河蟹帝国主义的野蛮侵略&#…

ftl 展示图片_视频号变迁的内容展示逻辑

最初的视频号只有单列展示,只有关注栏,并没有朋友和热门区分。产出内容限制为不超过 1 分钟的视频,或 9 张以内的图片。单列信息流、时间倒序排列(也存在个别特例)。这里想到之前龙哥说的关于朋友圈的思考:朋友圈是一个广场&#…

10.3 考试 (考得不好)

T1 我只能说 它是一个比较暴力的dp&#xff0c;需要人力讨论... 所以考试觉得讨论太麻烦&#xff0c;直接内心崩溃了....(好像这也是我考炸的原因吧) 教训&#xff1a;以后要勤快一些&#xff0c;代码能力 唉唉唉 #include <cstdio> #include <cstring> #include &…

java接口文件定义类_Java入门笔记(四)类、包和接口

一、类 classpublic class Person{String name;int age;Person(String name, int age){this.name name;this.age age;}void sayHello(){System.out.println("Hello!");}}1. 属性a. 字段也就是成员变量&#xff0c;在构造方法中进行初始化&#xff0c;没有指针的概念…

小程序[渲染层网络层错误] failed to load image_游戏中水的渲染技术

水的渲染一直是图形学需要解决的问题&#xff0c;本篇博客主要介绍用傅里叶变换算法实现的水反射&#xff0c;也是一种假反射效果&#xff0c;目的是优化效率。实现的效果如下图所示&#xff1a;使用傅里叶系数来表示地形高度的假反射效果&#xff0c;在我们开发的游戏中使用水…

pip install 报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xb5 in

当python在window环境中通过pip安装pandas报标题这样的错&#xff0c;主要是因为python默认编码格式是&#xff1a;ascii 在https://www.python.org/dev/peps/pep-0100/文章中有介绍 解决方法&#xff1a;在python/lib/site.py中加入 import sysreload(sys)sys.setdefaultenc…