Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 09 Jun 2010 08:34:40 +0100
From:      Matthew Seaman <m.seaman@infracaninophile.co.uk>
To:        Eitan Adler <lists@eitanadler.com>
Cc:        questions@freebsd.org
Subject:   Re: why does ps |grep sometimes not return itself?
Message-ID:  <4C0F4410.40900@infracaninophile.co.uk>
In-Reply-To: <AANLkTimdtot-1vlYofXo-dv3V7jyFW7VU0D6dq3vqBqV@mail.gmail.com>
References:  <AANLkTimdtot-1vlYofXo-dv3V7jyFW7VU0D6dq3vqBqV@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 09/06/2010 08:15:23, Eitan Adler wrote:
> Why do I sometimes see the grep in ps's output and sometimes not see it?
> [eitan@AlphaBeta ~ ]% ps aux|grep Me
> eitan 96325  0.0  0.0  1856   724   5  RL+  10:14AM   0:00.00 grep Me
> [eitan@AlphaBeta ~ ]% ps aux|grep Me
> [eitan@AlphaBeta ~ !1! ]%
> 

When you run that pipeline the OS doesn't start both programs exactly
simultaneously. It starts ps(1) first, then grep(1) together with
creating the pipeline by connecting ps's stdout to grep's stdin.
Depending on system load and various other factors, this may allow ps(1)
to grab the snapshot of the process table that it works on before
grep(1) has started.  It's a race condition.

Whether you see this effect or not will depend very much on system
conformation and load.  I can't reproduce the effect on a lightly loaded
dual processor machine, which always shows the grep process, whereas on
a single processor virtual machine running under VirtualBox, I never see
grep in the ps output unless I renice the ps(1) process.

	Cheers

	Matthew

- -- 
Dr Matthew J Seaman MA, D.Phil.                   7 Priory Courtyard
                                                  Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey     Ramsgate
JID: matthew@infracaninophile.co.uk               Kent, CT11 9PW
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.14 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkwPRBAACgkQ8Mjk52CukIxkWgCeNSQX37XoGvaZn2A/0vYrmUka
1yMAnjtZJoYNqOdo9UDkWks/4cYpVFPy
=Rkg3
-----END PGP SIGNATURE-----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C0F4410.40900>