[LTP] [PATCH] memcg/functional: check several times if the process is killed

Cyril Hrubis chrubis@suse.cz
Mon May 23 18:39:29 CEST 2016


Hi!
> > This does no seem right to me. The original code send a SIGUSR1 signal
> > to the memcg_process which caused it to allocate memory which supposedly
> > provokes OOM to kill it. Hence the sleep 1 after the kill -s USR $pid.
> >
> > Now this code hammers the memcg_process with SIGKILL instead.
> >
> > As far as I can tell the right thing to do here is to wait with
> > reasonable timeout for the memcg_process to become zombie and only kill
> > it if that hasn't happened. Or did I miss something?
> 
> No, you didn't miss anything. I was planning to use 'kill' to check 
> whether the pid is alive or not. But I should have used 'kill -s 0' 
> instead of plain 'kill'.

Would that even work? Technically till you wait the process the pid
still exists albeit in a zombie state.

And looking into POSIX there were some systems that returned ESRCH in
this case but it looks this behavior is strongly discouraged.

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list