From: Gordan B. <go...@bo...> - 2009-12-27 03:00:34
|
Gordan Bobic wrote: > On 26/12/2009 21:44, Marc Grimme wrote: > >>>> On output of killall5: >>>> It should output to the console. Which means you should see your >>> printfs >>>> on console. >>> That's what I thought - only it doesn't. killall5 starts, and nothing >>> >>> happens after that. I wonder if the problem actually occurs before >>> that, >> Try to first add an echo before killall5 is issued to see what would be called. >> I often added a bash/sh call afterwards to test what's happening: >> action $"Sending all processes the TERM signal..." /usr/comoonics/killall5 -15 ${KILLALL_OPTS} >> sleep 5 >> action $"Sending all processes the KILL signal..." /usr/comoonics/killall5 -9 ${KILLALL_OPTS} >> -> >> echo "Sending all processes the TERM signal..." /usr/comoonics/killall5 -15 ${KILLALL_OPTS} >> bash >> action $"Sending all processes the TERM signal..." /usr/comoonics/killall5 -15 ${KILLALL_OPTS} >> sleep 5 >> action $"Sending all processes the KILL signal..." /usr/comoonics/killall5 -9 ${KILLALL_OPTS} >> >> Then you know what happens. I don't think bootsr does any harm see below. >> In the shell you could also try your command. > > I just did that, and the result is as expected. killall5 starts and > never returns. No output. > >>>> You could >>>> output the killall opts to console in order to see if the programs >>> get >>>> excluded within killing: >>>> echo "/usr/comoonics/killall5 -15 ${KILLALL_OPTS}" >>> > just before it is called and you should see if it is called >>> properly. >>> >>> Did that, too, and that looks fine. But killall5 never returns, and >>> never prints any output. > > >> Never returns is suspicious. Try to call it yourself. > > I did - and it really doesn't return. > I'm a bit stumped at this, especially since the effect is the same both > on the original killall5 that ships with OSR sysvinit and my modified > killall5, so I'm reasonably sure that killall5 isn't broken or miscompiled. And just to confirm, I used the same binary on another machine (standalone, no OSR or clustering), and it works exactly as expected (prints out what processes it is killing). That means that whatever causes killall5 to go away and never return is specific to glfs+OSR (since killall5 works fine on my gfs+OSR clusters). I'm not sure where to even begin debugging this, though, so any ideas would be welcome. Gordan |