linux杀死进程(kill -9的使用)

linux 的信号机制

信号是Linux中非常重要的部分。
信号机制是进程间相互传递消息的一种方法,全称为软中断信号。信号可以看作进程控制的一部分。
基本概念

signal用来通知进程发生了异步事件,进程之间可以互相通过系统调用kill发送软中断信号。但是注意,信号只是用来通知某进程发生了什么事件,并不给该进程传递任何数据。
信号的处理方法:忽略、捕捉和默认动作

忽略信号,大多数信号可以使用这个方式来处理,但是有两种信号不能被忽略(分别是 SIGKILL和SIGSTOP)。因为他们向内核和超级用户提供了进程终止和停止的可靠方法,如果忽略了,那么这个进程就变成了没人能管理的的进程,显然是内核设计者不希望看到的场景。
捕捉信号,需要告诉内核,用户希望如何处理某一种信号,说白了就是写一个信号处理函数,然后将这个函数告诉内核。当该信号产生时,由内核来调用用户自定义的函数,以此来实现某种信号的处理。
系统默认动作,对于每个信号来说,系统都对应由默认的处理动作,当发生了该信号,系统会自动执行。不过,对系统来说,大部分的处理方式都比较粗暴,就是直接杀死该进程。

linux支持的信号列表:

用命令kill -l可以查看linux下的所有信号:
在这里插入图片描述

SIGHUP:1号信号,Hangup detected on controlling terminal or death of controlling process(在控制终端上挂起信号,或让进程结束)

SIGINT:2号信号,Interrupt from keyboard(键盘输入中断,ctrl + c )

SIGQUIT:3号信号,Quit from keyboard(键盘输入退出,ctrl+ | )

SIGABRT:6号信号,Abort signal from abort(3)(非正常终止,double free)

SIGKILL:9号信号,Kill signal(杀死进程信号,linux规定进程不可以忽略这个信号)

综上所述,kill -9中,9代表的就是9号信号,带有强制执行的意思,它告诉进程:“无论你现在在做什么,立刻停止”。
所以当你需要强制杀死进程时,一般使用 kill -9 进程id 的格式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: kill -9是Linux系统中用于强制杀死进程的命令。它会直接终止进程,不会给进程任何机会去清理资源或保存数据,因此使用kill -9命令需要谨慎。一般情况下,应该先尝试使用kill命令或者其他信号来终止进程,只有在无法正常终止进程时才使用kill -9命令。 ### 回答2: “kill -9”是Linux系统中常用的杀死进程命令。它的作用是强制杀死一个进程,即使该进程不愿意退出或者存在其他异常情况。由于它的强制性质,使用这个命令需要谨慎。 使用kill -9”命令,可以杀死任何一个进程,不管它是处于什么状态,任何用户都可以进行操作。这个命令会向目标进程发送一个强制结束(KILL)信号,从而强制终止该进程。 但是,它也有一定的缺点。一些比如网络连接、文件锁等资源,就无法及时释放,就会导致资源的浪费。一些服务进程也可能无法感知到它们被强制终止了,他们可能会在背景中“僵死”,从而导致系统变慢等情况。 因此,建议在杀死进程时,先使用“ps -ef”命令查看进程的PID,然后使用kill PID”来正常杀死进程。如果该方式无效,则尝试使用kill -9 PID”强制杀死进程。 在实际使用过程中要多加小心,避免在意外的情况下误杀一个正在运行的进程,造成不必要的损失。 ### 回答3: kill -9是Linux下一种常用的杀死进程的命令。当一个进程无响应,或者需要强制停止一个进程时,kill -9可以强制杀死该进程。 在Linux下,每个进程都会有一个唯一的进程ID(PID)。kill命令可以用来向指定PID的进程发送信号。默认的信号是SIGTERM,可以让进程有机会自行清除资源并优雅地退出。但有些情况下,进程可能无法正常退出,或者需要立刻停止,这时候就需要用到kill -9命令。 kill -9命令会发送一个SIGKILL信号给指定PID的进程,这个信号让进程立即停止,不会给进程任何机会清理资源或做一些收尾工作。因此,使用kill -9命令可能会导致一些不可预测的后果,如进程可能会留下垃圾数据或脏数据,或者会导致操作系统出错。 因此,在使用kill -9命令之前,应该先尝试使用kill命令发送SIGTERM信号给进程,让进程自行清理资源并退出。如果进程不响应SIGTERM信号,或者需要对进程进行强制停止,再使用kill -9命令。 可以使用以下命令杀死进程: 1.使用ps命令查找要杀死的进程的PID: ps aux | grep 进程名 2.使用kill命令发送SIGTERM信号给进程: kill PID 3.如果进程无法响应SIGTERM信号,再使用kill -9命令: kill -9 PID 总之,kill -9命令是Linux下一个强制杀死进程的命令,需要谨慎使用。在实际使用时,应该根据情况选择合适的信号,并优先使用SIGTERM信号,只有在必要时才使用kill -9命令。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值