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. Thanks, Jerry
Ray Van Dolson
2008-Jan-10 15:30 UTC
[CentOS] centos command to monitor a process for exit
On Thu, Jan 10, 2008 at 10:22:56AM -0500, 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?You can use SNMP to do this. It will set a flag in a certain OID which you then need to monitor. I _believe_ you may even be able to tell snmpd itself to call a process, but I don't recall on that. Check the man pages.> > 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.You might look into something like daemontools[1]. It might be a little overly complex. You could certainly script something yourself. However, daemontools are quite reliable. Ray [1]: http://cr.yp.to/daemontools.html
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. > > Thanks, > > JerryTry monit. http://tildeslash.com/monit/ The link seems to be down. But the rpm is available on rpmforge and the manpage is excellent. -- Regards, Anup Shukla
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 -- Les Mikesell lesmikesell at gmail.com
On 1/10/08, Jerry Geis <geisj at pagestation.com> 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?If you want something simple, the wait(1) command can block until some process specified by its PID terminates. -- Daniel