[CentOS] centos command to monitor a process for exit

Fri Jan 11 23:54:24 UTC 2008
mouss <mlist.only at free.fr>

Les Mikesell wrote:
> Jerry Geis wrote:
>> Is there a command that will monitor a process for exiting (crash or
>> normal exit) and
>> then execute another command based on the said process no longer being
>> active?
>>
>> Or is there a "wrapper" command that runs a process and when that
>> process exists
>> due to crashing or just exiting normally) that another process can be
>> run.
>>
> 
> Why not use a shell script as a wrapper?  If you don't put something in
> the background with an & on the line, the next line will execute when/if
> the program started on the current line exits.  There are nearly always
> other copies of the shell running anyway so you get shared-text
> efficiency.  If you just want to keep restarting the same program,
> something like this should run forever.
> 
> while :
>  do
>   my_program
>  done
> 

This has two issues (at least):
- if the program is a daemon, it returns immediately, so the scrpit will
try to start the program again and again
- if the script gets a signal, it will be killed. back to start.


also, whatever method is used, one must not spend cpu restarting a
program that crashes after 2 seconds (thus looping on restart). if the
program keeps crashing, an alert should be sent (and the program fixed
or removed).