On Wed, Aug 09, 2017 at 02:06:20PM -0400, bruce wrote:
> Hey peeps.
> 
> From a fed/centos cmdline...
> 
>  pgrep -f "foo" | wc -l
> 
> will return 0 -- if "foo" doesn't exist in the procTBL, and something
> else if "foo" is running.
> 
> The curiousity... When I have a simple php
> 
> <?php
> 
> $f="pgrep -f 'foo' | wc -l";
> $t=`$f`;
> print $t
> 
> ?>
> 
> $t isn't 0!! -- it's actually 1, or something else if foo is running..
> 
> Any ideas why?? I've used the different methods php provides to "run"
> shell/.cmdline processes. I get the same results.
> 
> Now.. I can do something like
>  ps aux | grep 'foo' | grep -v 'grep' | wc -l
> and get the correct results within the php as well as the shell.
> 
> Didn't find anything via the 'net or SO on this..
> 
> Thoughts/comments??

The -f option to pgrep says to look at the command and it arguments.
If you are looking for a command NAMED "foo" and have another command
with "foo" as an argument, "pgrep -f" may list that as well.

Two alternatives, drop the "-f" to look at only the cmd name
or run your pgrep as "pgrep -f '[f]oo'".  That cmd line does
not contain "foo" but still searches for "foo".

jl
-- 
Jon H. LaBadie                  jo...@jgcomp.com
_______________________________________________
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org

Reply via email to