procps and pgrep hang

Corinna Vinschen corinna-cygwin@cygwin.com
Wed May 23 15:57:00 GMT 2012


On May 21 11:40, Tom Rodman wrote:
> On Wed 5/16/12 22:04 EDT Christopher Faylor wrote:
> > On Wed, May 16, 2012 at 08:46:09PM -0500, Tom Rodman wrote:
> > >  $ pgrep bash
> --snip
> > >   $ procps -o pid,args
> > >   PID COMMAND
> > >  4580 procps -o pid,args
> > >  --note: above command hangs, ended up killing it
> >
> > Try a snapshot.
> 
> Thanks.  It seems better, but still hangs, on this box (and 1 other).
> 
> Examples ran tonight w/20120517 snapshot:
> 
>   http://pastebin.com/xQbtChsJ

Looking into your strace I'm wondering if you really mean hanging in
the sense of "hanging indefinitely until killed", or if you mean it
hangs for about half a second.  Since that's what the strace shows.
For some of the information about a process under /proc, the requesting
process has to open a pipe and then, by using a special signal, informs
that process that it requests information which in turn is send over
the pipe back to the requester.  The timeout for each of the read 
operations on the pipe is restricted to 500ms to avoid indefinite
hangs.

Unfortunately I can't reproduce this effect, neither on XP nor on W7.

Hmm, puzzeling.  I'm wondering though, if this may be a result of using
message type pipes.  Nothing else comes to mind which has changed in
this piece of code lately.  For testing you could set the environment
variable CYGWIN to "pipe_byte" and try again.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list