如何查找僵尸进程并Kill之,杀不掉的要查看父进程并杀之

用ps和grep命令寻找僵尸进程

#ps -A -ostat,ppid,pid,cmd | grep -e ‘^[Zz]‘

命令注解: -A 参数列出所有进程 -o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数 因为状态为 z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程 运行结果参考如下 Z 12334 12339 /path/cmd 这时,我们可以使用 kill -HUP 12339来杀掉这个僵尸进程 运行后,可以再次运行ps -A -ostat,ppid,pid,cmd | grep -e ‘^[Zz]‘来确认是否已经将僵尸进程杀死 如果kill 子进程的无效,可以尝试kill 其父进程来解决问题,例如上面例子父进程pid是 12334,那么我们就运行

#kill -HUP 12334

来解决问题

一般可以用top命令发现动态进程表

#top

其中zombie是僵尸进程

转自:http://blog.csdn.net/21aspnet/article/details/6754445

时间: 2024-10-21 06:07:54

如何查找僵尸进程并Kill之,杀不掉的要查看父进程并杀之的相关文章

ORA-00031: session marked for kill 处理Oracle中杀不掉的锁

一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库.现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀. 1.下面的语句用来查询哪些对象被锁: select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session swhere l.object_id = o.object_id

父进程和子进程

父进程 在计算机领域,父进程(英语:Parent Process)指已创建一个或多个子进程的进程. UNIX 在UNIX里,除了进程0(即PID=0的交换进程,Swapper Process)以外的所有进程都是由其他进程使用系统调用fork创建的,这里调用fork创建新进程的进程即为父进程,而相对应的为其创建出的进程则为子进程,因而除了进程0以外的进程都只有一个父进程,但一个进程可以有多个子进程. 操作系统内核以进程标识符(Process Identifier,即PID)来识别进程.进程0是系统

【原创】java中的父进程子进程 —— 坑爹的java Runtime.getRuntime().exec

最近有一个需求,需要用一个java进程启动多个子进程来完成并发任务.由于必须给用户完成任务的反馈,所以需要父进程记录子进程的生命周期. exec方法返回一个Process对象,在当前进程内调用该对象的waitFor方法,然后父进程就会在该方法阻塞,那么只有在该Process结束的情况下,才会从waitFor中返回. 我写了两个类来测试: 一个是Father类: public class Father { private static int count = 0; private static i

父进程与子进程的关系(31-04)

一个父进程(主进程)可以生成多个子进程, 每个父进程/子进程都有一个特定的ID号. from multiprocessing import Process import timeimport os def info(title): print(title) print('module name:', __name__) print('parent process:', os.getppid()) # 显示父进程ID print('process id:', os.getpid()) # 显示子进

父进程等待子进程结束

from multiprocessing import Process import time # def task(name): # print("%s start" % name) # time.sleep(3) # # print("%s stop" % name) # # if __name__ == '__main__': # p = Process(target=task,args=("jerry",)) # p.start() #

pstree-显示子进程的父进程

安装pstree:yum install psmisc -y 作用:用于追踪子进程的父进程 使用场景:需要知道某个子进程的父进程时: 常用选项: -a:显示命令行选项(即显示启动进程所使用的命令) -p:打印出父进程的pid号 -s:显示子进程所有的父进程(默认只显示子进程的第一个父进程) 注:aps常组合在一起使用 用法示例: 只显示某个进程的父进程 [[email protected] ~]# pstree 1004 qmgr 显示出父进程并且同时显示父进程的pid [[email prot

Linux进程锁死,kill -9杀不掉

通过查看进程: ps aux | grep qianlili qianlili  6675  0.0  0.0   3180  1104 ?        D    09:55   0:00 make_ext4fs -s -S out/target/product/konka82_i255_kk/root/file_contexts -l 943718400 -a system out/target/product/konka82_i255_kk/obj/PACKAGING/systemimag

kill -9 杀不掉进程

以下两种情况kill -9发送信号不起作用: a.该进程处于"Zombie"状态(使用ps命令返回defunct的进程).此时进程已经释放所有资源,但还未得到其父进程的确认."Zombie"进程要等到下次重启时才会消失,但它的存在不会影响系统性能. b. 该进程处于"kernel mode"(核心态)且在等待不可获得的资源.处于核心态的进程忽略所有信号处理,因此对于这些一直处于核心态的进程只能通过重启系统实现.进程在AIX 中会处于两种状态,即用

【转】linux下杀死进程(kill)的N种方法

转载一篇,最原始的出处已不可考,望见谅! 常规篇: 首先,用ps查看进程,方法如下: $ ps -ef --smx       1822     1  0 11:38 ?        00:00:49 gnome-terminalsmx       1823  1822  0 11:38 ?        00:00:00 gnome-pty-helpersmx       1824  1822  0 11:38 pts/0    00:00:02 bashsmx       1827