㈠ 【kill】kill -9 杀不死的进程处理办法
kill -9 发送SIGKILL信号给进程将其终止,但对于以下两种情况不适用:
1.该进程是僵尸进程(STAT z),此时进程已经释放所有的资源,但是没有被父进程释放。
僵尸进程要等到父进程结束,或者重启系统才可以被释放。
2.进程处于“内核态”,并且在等待不可获得的资源,处于“内核态 ”的资源默认忽略所有信号,只能重启系统解决。
进程在linux 中会处于两种状态,即用户态和内核态。只有处于用户态的进程才可以用“kill”命令将其终止
一般可以用top命令发现动态进程表,其中zombie是僵尸进程:
用ps和grep命令寻找僵尸进
# ps -A -o stat,ppid,pid,cmd
# ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'
命令注解:
-A 参数列出所有进程
-o 自定义输出字段
我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数 因为状态为 z或者Z的进程为僵尸进程。
我们使用grep抓取stat状态为zZ进程,使用 kill -HUP ${pid} 来杀掉这个僵尸进程。
㈡ Linux终止前台进程的命令
1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。
㈢ Linux中kill -9 $$是做什么的啊
$$ 是您正在操作的shell的PID
echo $$ #显示当前shell的PID
kill -9 $$ #杀死当前shell
注: shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序。你在提示符下输入的每个命令都由shell先解释然后传给Linux内核。常用的有bash,csh,ksh。
㈣ Linux里面kill -9的含义是什么
一般来说Linux里边的kill是杀死进程的意思。而加了一个-9。是表示无条件的杀死进程。所以这个命令的意思就是,不管这个进程正在执行还是已经结束,都要杀死掉它。
㈤ 4-7 Linux 强杀进程 --- kill (kill -9 实验)
kill -9 PID —— 强制杀死一个进程。
1、kill -9 杀死后台运行的进程。
红色下划线:sleep 10000 & —— 后台运行延时 10000 秒的命令,进程 ID 为1317。
黄色下划线:ps —— 列出 1317 sleep 命令的进程。
(PID:进程 ID、PGID:线程组 ID、SID:会话 ID、TTY:进程运行的终端,标识那个终端控制。(pts远程终端、tty系统终端)、TIME:进程运行的时间 和 CMD:命令的名称和参数)。
jobs -l —— 列出后台运行的命令,1317 sleep 命令正在后台运行。
蓝色下划线:kill -9 1317—— 杀死 1317 进程。
绿色方框:ps 查询进程,1317 sleep进程已经被杀死(Killed)。jobs -l 已经没有后台运行的1317 sleep 命令。
2、kill -9 终止挂起的进程。
红色下划线:执行 sleep 10000 后 ctrl + z 挂起。
黄色下划线:ps -j 查看进程,有 1342 sleep 的进程。jobs -l 查看后台,1342 sleep 的状态是 stopped 暂停状态。
蓝色下划线:kill -9 杀死 1342 进程。此时系统没有反馈信息。
绿色下划线:ps -j 查看进程,1342 sleep 已经被杀死(Killed)。jobs -l 查看后台,已经没有了 1342 sleep。
从实验上看:
1、后台命令运行时(Running),执行 kill -9 可以强杀进程。
2、挂起命令,处于暂停状态时(Stopped),执行 kill -9 后通过 ps 查询进程, 可以看到进程已经被杀死。jobs 也查不到有后台命令。(这里和 kill -2、kill -15 不一样。kill -2、kill -15 在挂起命令,处于暂停状态时(Stopped)时执行,通过 ps 还可以查询到进程,jobs 也可以查询到后台仍有处于暂停状态的命令。)
㈥ 在linux系统中kill -9 java 1910和kill -9 1910有什么区别
下面是kill -9的说明:
kill -s 9 15572
其中,-s 9 制定了传递给进程的信号是9,即强制、尽快终止进程。 15572则是上面ps查到的火狐(firefox)的PID。
简单吧,但有个问题,进程少时ps还无所谓,进程多了,就会觉得痛苦了,无论是ps -ef 还是ps -aux,每次都要在一大串进程信息里面查找到要杀的进程PID,看的眼都花了。
用法详解:
kill -9, 这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。
当使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。只能通过终止父进程来消除僵尸进程。如果僵尸进程被init收养,问题就比较严重了。杀死init进程意味着关闭系统。
如果系统中有僵尸进程,并且其父进程是init,而且僵尸进程占用了大量的系统资源,那么就需要在某个时候重启机器以清除进程表了。