sh 'sleep' and trap?
Karl Pielorz
kpielorz_lst at tdx.co.uk
Wed Jul 16 09:36:22 UTC 2014
Hi All,
I have a script, similar to this:
"
#!/bin/sh
echo $$ >/var/run/mypid.pid
trap "rm /var/run/mypid.pid; exit 0" EXIT
while [ 1 ]
do
do_stuff
sleep 60
done
"
This works - but an attempt to 'kill' it, e.g.
kill `head -1 /var/run/mypid.pid`
Takes up to 60 seconds, before 'sleep' completes, control returns back to
the shell - which see's the signal, and quits.
Is there a better way of doing this? - i.e. some way the shell can 'pass
time' but still receive signals in a timely manner?
The only work around I could come up with was to change the 'sleep 60' into
a loop that does 60 * 1 second sleeps, not ideal though :(
Cheers,
-Karl
More information about the freebsd-questions
mailing list