Re: Checking processes without PIDs

2006-11-27 Thread Brian

[EMAIL PROTECTED] wrote:

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?

Thanks,



Jay

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

Does ps auxwww work ?

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


Re: Checking processes without PIDs

2006-11-27 Thread Dan Nelson
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]"


Re: Checking processes without PIDs

2006-11-27 Thread jhall
> 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)

Thanks,



Jay
> --
>   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]"


Re: Checking processes without PIDs

2006-11-27 Thread N.J. Mann
On Mon 27 Nov 20:46, [EMAIL PROTECTED] wrote:
> I have written a script to determine if processes are running.  I am
> using, as an example,
> 
> ps -ax | grep -c postgrey

Are you aware of pgrep(1) ?


Cheers,
   Nick.
-- 

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


Re: Checking processes without PIDs

2006-11-27 Thread Dan Nelson
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.

-- 
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]"


Checking processes without PIDs

2006-11-27 Thread jhall
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?

Thanks,



Jay

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