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

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

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

linux查看kill选项

3. 结束进程

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

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

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

先确认进程号:

[root@zcwyou ~]# top

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

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

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

Linux安装pkill工具结束进程

8. 总结

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

本文已同步至博客站:

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

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

_Linux结束进程到底有多少种方法?相关推荐

  1. linux QT 结束当前进程_Linux结束进程到底有多少种方法?

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习. 1. 前言 我们经常在Linux里使用kill命令来结束某后台进 ...

  2. win10taskkill强行结束进程_Win10程序卡死怎么办? Win10强制结束进程的两种方法

    Windows 10系统中,经常遇到某一进程卡死.停止运行的现象,处理此问题的方法可以有:注销一次系统:结束此系统进程. 结束系统进程的方法可以在任务管理器中进行,也可以在管理员命令提示符窗口中使用T ...

  3. Android结束进程的几种方法

    Android 结束进程的几种方法 在开发过程中,遇到了测试的说关闭应用的时候出现了闪一下黑屏的情况,后面发现闪黑屏和杀掉进程有关系,这里就简单总结一下结束进程的几种方法,以及闪黑屏是如何解决的,防止 ...

  4. 居中到底有多少种方法

    前言 居中可以说是网页布局中非常常见的布局了,垂直居中,水平居中,其中又分为块级元素和行内元素,没有系统的整理过还真有点搞不清楚.来看看各式各样的居中到底有多少种. 水平居中 行内元素水平居中 行内元 ...

  5. 浅谈驱动中强制结束进程的3种方法

    一个应用程序想要结束另一个进程所要做的事:首先获得目标的进程ID,接着利用OpenProcess获取进程句柄(确保足够权限),最后将句柄传给TerminateProcess了结那个进程. OpenPr ...

  6. 点到曲线的距离公式_推导点到直线的距离公式到底有多少种方法?

    [总结]方程思想,这也是解析几何的主题思想,几何问题代数化,转化为代数计算. 优点:思路简单清晰易于理解. 缺点:计算量较大. [总结]此方法优点:计算量大幅度减小,紧扣问题入手,切入点准确. 缺点: ...

  7. powershell 结束进程的四种写法

    powershell 结束进程的四种写法 简单记录一下powershell中结束进程的四种写法: #1.纯cmdlet命令 Get-Process -Name notepad | Stop-Proce ...

  8. Linux中创建Daemon进程的三种方法

    Linux中创建Daemon进程的三种方法 什么是daemon进程? Unix/Linux中的daemon进程类似于Windows中的后台服务进程,一直在后台运行运行,例如http服务进程nginx, ...

  9. LINUX查看进程的4种方法(小结)

    进程是在 CPU 及内存中运行的程序代码,而每个进程可以创建一个或多个进程(父子进程). 查看进程方法 第一种: ps aux ps命令用于报告当前系统的进程状态.可以搭配kill指令随时中断.删除不 ...

最新文章

  1. 如何产生签名applet能让applet能够访问本地资源
  2. 一文探讨堆外内存的监控与回收
  3. 一台物理机上VMware虚拟机实现拨号上网同时内网通信
  4. form表单中method的get和post区别
  5. android c# websocket
  6. 初看Mybatis 源码 (二) Java动态代理类
  7. mysql批量修改http为https,墨涩网 - typecho系统升级全站https数据库批量替换网址/内容——墨涩网...
  8. 线程池 ManualResetEvent
  9. [HAOI2006]受欢迎的牛
  10. sql远程mysql服务器查询_sql server 使用链接服务器远程查询
  11. linux之用wget下sublime简单使用总结
  12. Adobe illustrator 抽丝剥茧选中多个点 - 连载 13
  13. Adobe illustrator 调整对象大小 - 连载 11
  14. Random()中具体实现(含种子数组的实现)
  15. 【顺序表和链表】实现增删查改数据结构 OJ题编程
  16. monty python读音-Monty Python
  17. AndroidStudio 抓包工具Profiler使用
  18. 通过高阶DMD对地铁的实时短时OD预测
  19. CVTE软件C语言面试经验,CVTE软件技术支持面试总结
  20. Linux 清空文件内容

热门文章

  1. mysql linux改密码忘记了怎么办_linux上mysql改密码忘了怎么办?
  2. java echarts 散点图,echarts在地图上绘制散点图(任意点)
  3. MySQL表级完整性约束
  4. PyCharm 安装插件
  5. Java自动类型转换和强制类型转换
  6. 【课题总结】OpenCV 抠图项目实战(3)抠图综述
  7. iOS里面MVC模式详解
  8. fun函数python_Python函数
  9. linux升级openssl需要先卸载吗,linux下安装/升级openssl
  10. 径向基神经网络_谷歌开源Neural Tangents:5行代码打造无限宽神经网络模型,帮助“打开ML黑匣子”...