Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >linux中怎么干掉一个进程

linux中怎么干掉一个进程

作者头像
入门笔记
发布于 2022-06-02 09:56:42
发布于 2022-06-02 09:56:42
1.7K00
代码可运行
举报
文章被收录于专栏:入门小站入门小站
运行总次数:0
代码可运行

你是否曾经遇到过启动应用程序,而在使用该应用程序时突然变得无响应并意外崩溃的情况?你尝试再次启动该应用程序,但没有任何反应,因为原始应用程序进程从未真正完全关闭。

普通用户可以杀死自己的进程,但不能杀死属于其他用户的进程,而root用户可以杀死所有进程。

系统kill信号

killkillall可以将给定信号发送到指定的进程或进程组。当没有指定信号时,两个工具都会发送-15(-TERM)。

最常用的信号是:

  • 1(-HUP):重新启动进程。
  • 9 (-KILL):杀死一个进程。
  • 15 (-TERM):正常停止进程。

可以通过三种不同的方式指定信号:

  • 使用带有SIG前缀(例如-SIGHUP)
  • 使用数字(例如-1)
  • 不带SIG前缀(例如-HUP) 。

使用-l选项列出所有可用信号:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kill -l  # or killall -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

使用kill命令终止进程

要使用kill命令终止进程,首先需要找到进程PID。你可以使用不同的命令来执行此操作,例如toppspidofpgrep

假设我们的Firefox浏览器已无法响应,你需要取消Firefox进程。要找到过程PID,请使用pidof命令:

pidof firefox

以上命令将显示所有Firefox进程:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2551 2514 1963 1856 1771

一旦你知道Firefox处理PID以终止所有PID,请输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kill -9 2551 2514 1963 1856 1771

使用killall命令终止进程

killall命令终止与指定名称匹配的所有程序。

使用与之前相同的方案,我们可以通过键入以下命令来终止Firefox进程:

killall -9 firefox

killall接受几个选项,例如指定使用用户身份运行的进程,使用正则表达式以及根据创建时间终止进程。你可以通过键入killall(不带任何参数)来获得所有选项的列表。

例如,如果我们要终止以用户身份运行的所有进程rumenz,则可以运行以下命令:

killall -u rumenz

杀死运行时间超过 5h 的进程

killall -o 5h

杀死进行时间小于 4h 的进程

killall -y 4h

默认情况下,killall 命令是大小写敏感的,所以我们如果写错大小写,将无法正确杀死进程。

killall -I NGINX

等待直到某个进程被终止,可以使用 -w 选项,其中 w 代表 wait

killall -w

使用pkill命令终止进程

pkill使用正则表达式来匹配进程名称。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ps -eo pid,cmd  | grep ssh
1039 sshd
2257 ssh-agent
6850 ssh
31279 ssh-agent

通过正则批量关闭

pkill '^ssh$'

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
linux系列之:告诉他,他根本不懂kill
和很多程序员打过交道,这些程序员可能熟知for遍历的好几种写法,但是却对写出来的程序部署的环境一无所知。我敢打赌,在spring boot出现之后,已经很少有程序员知道tomcat到底是怎么运行的了。对于他们来说,运行一个jar包就完事了。
程序那些事
2021/09/15
3570
linux之pkill命令
原文链接:https://rumenz.com/rumenbiji/linux-pkill.html
入门笔记
2021/09/22
9060
程序员必备的21条Linux 命令,值得收藏!
1.cd命令,用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。
小明互联网技术分享社区
2021/12/08
2830
每天学一个 Linux 命令(90):kill/killall
kill 命令用于删除执行中的程序或工作。kill 命令向进程发送信号。如果您未指定要发送的信号,则默认情况下会发送 TERM 信号,从而终止该过程。
民工哥
2021/04/21
4500
[122]linux killall 、kill 、pkill 命令详解
Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name)。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。
周小董
2022/04/12
2.7K0
【linux命令讲解大全】157.深入探究Linux操作系统中的halt和kill命令的用途和功能
halt命令用来关闭正在运行的Linux操作系统。halt命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统。
全栈若城
2024/03/02
1890
Linux的进程管理
而 kill 命令用于输出特定的信号给指定进程号(PID)的进程并根据该信号完成指定的行为,其中可能的信号有进程挂起、进程等待、进程终止等
姚远OracleACE
2023/04/06
1.6K0
Linux的进程管理
一天一个 Linux 命令(36):kill 命令
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/187
joshua317
2021/11/10
4490
进程管理:kill 命令之 -9 与 -15
kill :发送指定的信号到相应进程。不指定信号将发送SIGTERM(15)终止指定进程。若仍无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。
程序员架构进阶
2021/03/04
7.1K0
进程管理:kill 命令之 -9 与 -15
Linux之kill命令
原文链接:https://rumenz.com/rumenbiji/linux-kill.html
入门笔记
2021/07/27
4.5K0
重识Nginx - 05 热部署_不停机更换新版本的nginx
说明: linux 的 kill 命令是向进程发送信号,kill 不是杀死的意思,-9 表示无条件退出,但由进程自行决定是否退出,这就是为什么 kill -9 终止不了系统进程和守护进程的原因
小小工匠
2022/10/04
8500
重识Nginx - 05 热部署_不停机更换新版本的nginx
linux常用命令~系统常用命令
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。
Vincent-yuan
2021/12/20
1.4K0
linux常用命令~系统常用命令
Linux进程间通信(三) - 信号
什么是信号 软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是进程间通信机制中唯一的异步通信机制,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。信号机制除了基本通知功能外,还可以传递附加信息。 收到信号的进程对各种信号有不同的
三丰SanFeng
2018/01/16
2.6K0
Linux—进程管理
当程序运行的时候会由父进程通过fock创建子进程来处理任务;子进程被创建后开始处理任务,当任务处理完毕后就会退出,然后子进程会通知父进程来回收资源;如果子进程处理任务期间,父进程意外终止了,那么这个子进程就变成了僵尸进程。
Alone-林
2022/08/23
5K0
Linux—进程管理
Linux命令(54)——trap命令(builtin)
trap命令是Shell内建命令,用于指定在接收到信号后将要采取的动作。常见的用途是在脚本程序被中断时完成清理工作。
恋喵大鲤鱼
2019/03/05
2K0
杀死进程的N种姿势你知道吗
你是如何终止你的程序的?在《killall为什么找不到你的进程》一文中提到了几个杀死进程的方法,本文来总结一下有哪些方法可以终止进程。
编程珠玑
2019/10/28
6810
Linux kill, killall, kill -9
1) 查看进程的方法:  ps -ef 或者 ps aux root     15087  0.0  0.0      0     0 ?        S    23:31   0:00 [kwo
阳光岛主
2019/02/19
6.7K0
linux | kill命令详解以及linux中的信号
在man手册中对kill命令的解释如下, 不难看出, kill命令是一个用于将指定的signal发送给进程的工具
Amadeus
2023/04/12
2.8K0
Linux 精通Linux的“kill”命令
无论你使用哪种操作系统,你一定会遇到某个行为失常的应用,它把自己锁死并拒绝关闭。在Linux(还有Mac),你可以用一个”kill”命令强制终结它。本篇博文中,我们将展示给你多种方式使用”kill”命令终结应用。
小小工匠
2021/08/16
3.8K0
Linux 下的 Pkill 命令
pkill是一个命令行工具,它根据现有标准,给正在运行的程序进程发送信号。进程可以通过他们的完整名字,部分名字,用户进程或者其他属性指定。
雪梦科技
2020/05/09
3.1K0
Linux 下的 Pkill 命令
相关推荐
linux系列之:告诉他,他根本不懂kill
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验