This topic has been archived. It cannot be replied.
-
工作学习 / 专业技术讨论 / 请问:如何杀掉kill -9杀不掉的httpd进程?杀掉其父进程是否有用?如何才能屏蔽SIGKILL?
-mike20030405(麦客);
2007-6-6
(#3725859@0)
-
杀父进程有用,除非进程死在系统里;没办法屏蔽SIGKILL,因为它是untrappable的
-skywriting(天书);
2007-6-6
(#3725863@0)
-
如果进程在核心态,-9是杀不调的。要玩儿的话,再用-4, -10 ,-11试试,可能能多出来点东东。
-647i(流浪的步行万里);
2007-6-6
(#3725875@0)
-
和是不是核心态无关,有时候也可能死在IO子系统里。
-skywriting(天书);
2007-6-6
(#3725920@0)
-
all device is controlled by kernel(unix/linux), DMA, interrupt handling, block IO...
-647i(流浪的步行万里);
2007-6-6
(#3725924@0)
-
没错。IO子系统在kernel,但kernel的代码不都运行在核心态
-skywriting(天书);
2007-6-6
(#3725939@0)
-
all the code implementing system calls run in kernel mode. for process init, may be half/half.
-647i(流浪的步行万里);
2007-6-6
(#3725944@0)
-
你是不是use wrong user? check你的用户是不是有权限杀.
-submarine08(Submarine2008);
2007-6-6
(#3725876@0)
-
郑姐!
-647i(流浪的步行万里);
2007-6-6
(#3725886@0)
-
How do you know she's "郑姐"?
-holx(Dicom);
2007-6-6
(#3725921@0)
-
好玩儿吧, i mean the post, not the owner of the post.
-647i(流浪的步行万里);
2007-6-6
(#3725949@0)
-
我是root
-mike20030405(麦客);
2007-6-6
(#3725890@0)
-
http里是不是挂了plug-in了--跑飞了。
-647i(流浪的步行万里);
2007-6-6
(#3725904@0)
-
很可能是Web Server在fork() httpd thread之前先设了signal handler, 会ignore signal 9.所以你用kill 9杀不掉.不妨试试看kill 1, kill 2, ....最近正在往BOA里集成openSSL,看了一下BOA的源码.其实WEB SERVER很简单,就是一个tcp/ip编程,然后Bind port 80, 然后select()而已很可能是Web Server在fork() httpd thread之前先设了signal handler, 会ignore signal 9.所以你用kill 9杀不掉.不妨试试看kill 1, kill 2, ....最近正在往BOA里集成openSSL,看了一下BOA的源码.其实WEB SERVER很简单,就是一个tcp/ip编程,然后Bind port 80, 然后select()而已.远没有想象中的那么神秘.有机会的话你找源码看一下就很清楚了.
-philishave(出于礼貌对您微笑);
2007-6-6
{312}
(#3725917@0)
-
ps -ef | grep <PID> , if PPID =1, then reboot server
-judy_an(绿腰就是六幺的意思);
2007-6-6
(#3725926@0)
-
most daemon process's ppid is 1.
-647i(流浪的步行万里);
2007-6-6
(#3725941@0)
-
If the process is a zombie , it cannot be killed by -9, only reboot helps.
-judy_an(绿腰就是六幺的意思);
2007-6-6
(#3725955@0)
-
if process in zombie status, all the resouce of the process, include user memory space, are realeased, except process control block is not removed and waiting for parent process response to complete.zombie process doesn't hurt system performance. some system status report might be report the system is busy, actually, nothing.
-647i(流浪的步行万里);
2007-6-6
{129}
(#3725962@0)
-
we are not talking about system hung, LZ want s to clean up this process, what you can do?
-judy_an(绿腰就是六幺的意思);
2007-6-6
(#3726144@0)
-
和你讨论一下,你讲的有道理,我想有这样一种情况,过多的僵尸还是会导致系统死机的,系统有个max processores per user 这个参数,当这个参数溢出时,系统会hung的,所以过多的僵尸要注意。
-pipibug(皮皮巴格);
2007-6-6
(#3726189@0)
-
it will exaust process control table, cause fork() fail, if the table can't be extended dynamicly. is AIX able to do that?
-647i(流浪的步行万里);
2007-6-7
(#3726654@0)
-
是这样的,非常对,我觉得extend没有用,因为系统资源是有限的。
-pipibug(皮皮巴格);
2007-6-7
(#3727165@0)
-
I think it is similar like IP table in host or router, if it overflow , the network will hung. ---DOS .
-647i(流浪的步行万里);
2007-6-7
(#3727183@0)
-
概念都是一样的,算法也类似。。。。。大同小异。 :-)
-pipibug(皮皮巴格);
2007-6-7
(#3727198@0)
-
嗯,碰过这样子hung的
-pasu(InTheSky);
2007-6-7
(#3727232@0)
-
我干过这事,以前帮sequent作投标测试,发现有个问题,需要该核心参数重起,但S的人不肯。我就从客户端编了个ftp脚本,连接后转到shell再ftp自己。5分钟后机器就hang了,
-647i(流浪的步行万里);
2007-6-8
(#3729621@0)
-
What are you talking about?
you are talking about Orphan process not Zombie process.If the PPID==1, the process has been adpoted by init process, which always waits on its children.
If you want to just chk whether the process is zombie, check whether the STAT column of the output from "ps" is "Z".
-stevensun2000(小胖子);
2007-6-18
{223}
(#3749856@0)
-
vmstat 1, check the sys/user time usage, if sys is high, your option is press the button.
-647i(流浪的步行万里);
2007-6-6
(#3725932@0)
-
呵呵, 简单的问题常常引发复杂的思考.如果你要stop所有的httpd, 只用kill 就行, 用kill -9 反而让你残留很多httpd. 注意: 先 ps -fu root | grep httpd 找到root 所有的id, 然后kill 之.
-justlistening(聆风);
2007-6-6
(#3726225@0)