Skip site navigation (1)Skip section navigation (2)
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>