Date: Mon, 12 Dec 2005 19:10:56 +0200 From: Giorgos Keramidas <keramida@ceid.upatras.gr> To: Eric Schuele <e.schuele@computer.org> Cc: freebsd-questions@freebsd.org Subject: Re: grep'ping the ps output.... Message-ID: <20051212171056.GA4879@flame.pc> In-Reply-To: <439D9FA3.7030603@computer.org> References: <439D9FA3.7030603@computer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2005-12-12 10:04, Eric Schuele <e.schuele@computer.org> wrote: > Hello, > > I am sure this is quite trivial, but... > > I have need to determine if an app (firefox, or anything really) is > already running before I perform some action. So I grep the ps output. > However sometimes (many times) that which I'm searching for is present > in the output because I am presently grep'ing for it. But it is not > always there. It seems to be a bit inconsistent. (See below). > > I was wondering if someone could explain why it is sometimes there and > not other times. And how I should correctly go about detecting if the > process is running before I perform my action. pgrep(1) is nice for this sort of thing :) > %ps | grep firefox^M^M > 703 v0 I 0:00.00 /bin/sh /usr/X11R6/bin/firefox^M > 722 v0 I 0:00.00 /bin/sh /usr/X11R6/lib/firefox/run-mozilla.sh > /usr/X1^ > M > 734 v0 S 0:10.92 /usr/X11R6/lib/firefox/firefox-bin^M > %ps | grep firefox^M^M > 703 v0 I 0:00.00 /bin/sh /usr/X11R6/bin/firefox^M > 722 v0 I 0:00.00 /bin/sh /usr/X11R6/lib/firefox/run-mozilla.sh > /usr/X1^ A similar thing with pgrep(1) works as expected: % flame:/home/keramida$ for count in 1 2 3 4 5 ; do % > pgrep firefox ; echo ; sleep 1 ; done % 1470 % % 1470 % % 1470 % % 1470 % % 1470 % % flame:/home/keramida$ for count in 1 2 3 4 5 ; do % > pgrep -l firefox ; echo ; sleep 1 ; done % 1470 firefox-bin % % 1470 firefox-bin % % 1470 firefox-bin % % 1470 firefox-bin % % 1470 firefox-bin % % flame:/home/keramida$
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051212171056.GA4879>