You can do it in bash using something similar to the following:

#!/bin/bash
# $@ represents all the arguments except the name of the program '$0'
#
# this executes the command in the background and kills it after 10
# minutes if it is still running.
#
$@ >/dev/null 2>&1 &
pid=$!
sleep 600
if kill -0 $pid >/dev/null 2>&1 ; then
        # still alive, but not for long
        kill -HUP $pid
        sleep 2
        if kill -0 $pid >/dev/null 2>&1 ; then
                kill -TERM $pid
                sleep 2
                if kill -0 $pid >/dev/null 2>&1 ; then 
                        kill -KILL $pid # murder it!
                fi
        fi
fi
# end of script.

I don't promise the above script is error free, but you get the idea.
'$!' represents the pid of the last background process. You might want
to 'disown' the process after you have the pid too.

-Weave

Wesley Zhang [EMAIL PROTECTED] wrote on Fri, Jan 21, 2005 at 11:49:15AM -0500:
> Hi All,
> 
> I am a newbie on shell script. But I would like to use linux shell 
> script to control a job that runs forever and will be terminated after 
> 10 minute. My thought for this is following:
> 
>  pid = start-job-for ("cmd") // has to be a separate process
>  sleep 10 min
>  kill pid.
> 
> How can I spawn a separate process to execute my command and get the 
> proper process id?
> 
> Thanks,
> Wesley
> -- 
> TriLUG mailing list        : http://www.trilug.org/mailman/listinfo/trilug
> TriLUG Organizational FAQ  : http://trilug.org/faq/
> TriLUG Member Services FAQ : http://members.trilug.org/services_faq/
> TriLUG PGP Keyring         : http://trilug.org/~chrish/trilug.asc

-- 
It is by caffeine alone I set my mind in motion. It is by the juice of
the coffee bean that thoughts acquire speed, the lips acquire stains,
stains become a warning. It is by caffeine alone I set my mind in motion.

Attachment: pgpPUvAmsE6Ps.pgp
Description: PGP signature

-- 
TriLUG mailing list        : http://www.trilug.org/mailman/listinfo/trilug
TriLUG Organizational FAQ  : http://trilug.org/faq/
TriLUG Member Services FAQ : http://members.trilug.org/services_faq/
TriLUG PGP Keyring         : http://trilug.org/~chrish/trilug.asc

Reply via email to