From: Gordan B. <go...@bo...> - 2009-12-25 19:08:36
|
I'm trying to get to the bottom of why the shutdown process stops and locks up with OSR on glusterfs, so I made a quick and dirty modification to killall5.c from the SysVinit package in prod-4.5 compiled it and replaced the one in /usr/comoonics/sbin/. The mod is as follows: --- killall5.c 2009-12-25 18:49:35.000000000 +0000 +++ killall5.c.new 2009-12-25 18:49:22.000000000 +0000 @@ -711,6 +711,7 @@ if (TEST == 1) { printf("pid: %i, sid: %i, name: %s\n", p->pid, p->sid, p->statname); } else { + printf("killing statname: %s\n", p->statname); kill(p->pid, sig); } } I also changed the halt script so it doesn't use the "action" function which could be obscuring the command output. Now, from what I can see, this should print the statname of each process before it is killed, or print the statname of the process if it is not being killed due to being excluded. Either way, something should come up on stdout, right? Except it doesn't. I've got trace code in init.d/halt that demonstrates that killall5 gets run but no output comes out. The whole process stops at the point killall5 is run, and no output comes out. Am I missing something really obvious here? If I can get this to work I'll add this as optional output when a -v (for verbose) option is specified to killall5. But before there's any point to that, I need to figure out why nothing is coming out from the printf() statements. Any ideas? Thanks. Gordan |