[CentOS] command to ensure other command does last longer than5 seconds

Sat Apr 7 07:08:41 UTC 2007
Michael Velez <mikev777 at hotmail.com>

 

> -----Original Message-----
> From: centos-bounces at centos.org 
> [mailto:centos-bounces at centos.org] On Behalf Of Peter Gross
> Sent: Saturday, April 07, 2007 12:06 AM
> To: CentOS mailing list
> Subject: Re: [CentOS] command to ensure other command does 
> last longer than5 seconds
> 
> Jerry Geis wrote:
> > Hi,
> > 
> > I am wondering if there exists a centos command that runs another 
> > command and ensures the second command doesnt take more than x 
> > seconds? When x is given on the command line.
> > 
> > If the second command is not "done" the first command will 
> just kill 
> > it and both exit.
> > 
> > Does such a method or command exist?
> > 
> > I just need to ensure the second command does just continue 
> to run and 
> > run and run.
> 
> Here's my admittedly kludgey quick and dirty way of doing this .... 
> write a shell script that does the following:
> 
> 1. takes two arguments -- the command to run (in quotes) and 
> then the drip dead time (in seconds? or minutes?)
> 
> 2. start the command in the background, saving its PID in a 
> var (say $pid).
> 
> 3. create an "at" job to kill the pid at the appointed time, as in:
> 
> echo kill -TERM $pid | at now + 15 minutes
> 
> If the job has already finished, the kill -TERM will 
> hopefully be harmless (i.e., the pid's haven't cycled around 
> and there is now a new, but different, job with the same pid).
> _______________________________________________

I think the best way to do it would be with the sleep command since the 'at'
command does not allow you to specify seconds.

In a script (which I presume is your first command) start the second command
in the background, get the pid of that second command, then sleep for 5
seconds, and kill it.

Michael