In the last episode (Nov 27), [EMAIL PROTECTED] said:
> > In the last episode (Nov 27), [EMAIL PROTECTED] said:
> >> I have written a script to determine if processes are running.  I am
> >> using, as an example,
> >>
> >> ps -ax | grep -c postgrey
> >>
> >> Ocassionally, I am receiving a notification a process is not running
> >> (and it varies which process I receive notifications for).  And, when
> >> checking, the process actually is running.
> >>
> >> Is there a better way to determine if a process is running than using ps
> >> and grep?
> >
> > Reading the program's pidfile and checking to see if that pid still
> > exists is the best way.  That only works if your program generates a
> > pidfile, though.  Most of the time they're in /var/run or a
> > subdirectory.  If it doesn't generate a pidfile, you can try the pgrep
> > command, which is better than a "ps|grep" combo because it won't ever
> > accidentally match itself.
> >
> 
> Yes, that works much better for most of the processes I am testing
> against!  Two are still giving me problems since their command line
> has (perl) listed at the end. Any suggestions on how to better deal
> with these two?
> 
> They display as follows
> 
>   422  ??  Ss     8:04.49 /home/postgrey/postgrey --inet=10023 
> --greylist-text=Greylisted, see http://www.mnea.org/greylisted.html -d (perl)

You'll probably need to use the -f option to pgrep to match against the
full commandline instead of just the process name:

  pgrep -f "/home/postgrey/postgrey --inet=10023"

I added the first argument to the search string, because if you just
use "/home/postgrey/postgrey", then commands like "less
/home/postgrey/postgrey" would match.

A quick web search indicates that postgrey supports a --pidfile option,
so you might want to use that.  In fact, the startup script installed
by the FreeBSD port seems to include it, so I'm not sure why it's not
in your ps output there.

-- 
        Dan Nelson
        [EMAIL PROTECTED]
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to