[Devel] all openser processes do not get killed
Ovidiu Sas
sip.nslu at gmail.com
Fri May 4 01:14:51 CEST 2007
Hi Juha,
On openser stop, the attendant process will receive the SIGTERM and
it will dispatch the signal to it's child. The two hanging processes
are child of a child and are not visible to the dispatcher.
Compile openser in debug mode, attach to the child with strace (strace
-p PID) and stop openser. Check if the SIGTERM signal is propagated
down to the two child and processes and check how the signal is
handled (and combine this information with the output of the debug
log). Maybe this will reveal why the two processes are still hanging.
Hope this helps,
Ovidiu Sas
On 5/3/07, Juha Heinanen <jh at tutpro.com> wrote:
> Ovidiu Sas writes:
>
> > Use 'openserctl ps' to identify the processes by pid, stop openser and
> > then check which process is hanging.
>
> the two remaining ones are:
>
> Process:: ID=0 PID=10478 Type=attendant
> Process:: ID=2 PID=10480 Type=receiver child=0 sock= 192.98.101.10:5090
>
> and the defunc ones are hanging from the latter:
>
> root 10478 1 0 22:25 ? 00:00:00 /usr/sbin/openser
> root 10480 10478 0 22:25 ? 00:00:00 \_ /usr/sbin/openser
> root 10481 10480 0 22:25 ? 00:00:00 \_ [openser] <defunct>
> root 10482 10480 0 22:25 ? 00:00:00 \_ [openser] <defunct>
>
> sometimes init script stop doesn't kill any of the processes, but pid
> file does get removed.
>
> as i said, init script works flawlessly for me if i disable presence.
>
> i know that i can play games with killall, etc., but i would rather like
> to solve this problem, since i don't have any other applications either
> where games are necessary (mysql, radius, etc.).
>
> -- juha
>
More information about the Devel
mailing list