LINUX.IE, website of the Irish Linux Users' Group
Tux rules!

   
Home
New Users
Articles
Download
Projects
Community
Vendors

  Print Version
Email to...
 
Archives:


planetILUG

Recent News

News Archive


Join the
ILUG
on FaceBook


Join the
ILUG
on LinkedIn


Join the
ILUG SETI
Group



















 
 :: Mailing Lists

[ILUG] Terminate process after a set time limit

[ILUG] Terminate process after a set time limit

Kieran Tully Kieran.Tully at acm.org
Fri Nov 3 11:35:50 GMT 2006


On 11/3/06, Pádraig Brady <P at draigbrady.com> wrote:
> > Kieran Tully wrote:
> >
> >>Is there a standard way to impose a time limit on a child process, and
> >
> > I guess you could do it with trap?
> >
> > #!/bin/sh
> > trap exit 17
> > sleep 900&
> > potentially_long_command

I tried this yesterday, but couldn't get SIGCHLD to trigger.
I knocked up a script using kill -ALRM $$ instead.
It worked, but there were some cleanup subtleties I had yet to iron
out, at which point I was going to post the script, but you beat me to
it!

> Did this on the train this morning:
> http://www.pixelbeat.org/scripts/timeout

Thanks for that. From what I can see, the set -m in your script is
necessary for the SIGCHLD approach to work in non-interactive shells.

As your comments point out, a script with a similar purpose lives at
/usr/share/doc/bash*/scripts/timeout

But it busy-waits, and there is a race condition, as the PIDs to kill
could be reallocated between busy-wait intervals (may explain why it's
not executable by default on the systems I checked!).

So I may well go with your script. Thanks again,
-- 
Kieran Tully, Software Developer and Tenor, http://kieran.tul.ly



More information about the ILUG mailing list
Read this without the formatting.
                                                                                                    

 

Hosted by HEAnet


Maintained by the ILUG website team. The aim of Linux.ie is to support and help commercial and private users of Linux in Ireland. You can display ILUG news in your own webpages, read backend information to find out how. Networking services kindly provided by HEAnet, server kindly donated by Dell. Linux is a trademark of Linus Torvalds, used with permission. No penguins were harmed in the production or maintenance of this highly praised website. Looking for the Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!
RSS Version
Powered by Dell