simple shell script
Martin Cracauer
cracauer at cons.org
Wed Dec 7 20:35:22 PST 2005
Dan Nelson wrote on Wed, Dec 07, 2005 at 09:52:55PM -0600:
> In the last episode (Dec 07), Beecher Rintoul said:
> > I'm trying to write a simple shell script that will launch a program
> > (in this case lynx), wait 60 seconds and then kill it. I can get it
> > to launch the program, but it seems to ignore anything after that. I
> > am not a programmer so does anyone have a suggestion on this script?
> > Any help would be appreciated.
>
> You need to background it so your script keeps running:
>
> #! /bin/sh
> # Launch program
> lynx &
> # Store its processid for later
> pid=$!
> # 60 seconds
> sleep 60
> # Kill backgrounded process
> kill -9 $pid
This is probably not what Beecher wants, he/she probably needs the
lynx in the foreground.
In a pure shell script that is difficult because you cannot get the
pid of a foreground process without reverting to `ps` which is not
sportish.
It's better to use a dedicated timeoput mechanism, e.g.:
http://cracauer-forum.cons.org/forum/cratimeout.html
Then you can do `cratimeout 60000 lynx`
Martin
--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <cracauer at cons.org> http://www.cons.org/cracauer/
FreeBSD - where you want to go, today. http://www.freebsd.org/
More information about the freebsd-questions
mailing list