[CentOS] command to ensure other command does last longer than5 seconds
Michael Velez
mikev777 at hotmail.com
Sat Apr 7 07:08:41 UTC 2007
> -----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
More information about the CentOS
mailing list