sh 'sleep' and trap?

Karl Pielorz kpielorz_lst at
Wed Jul 16 09:36:22 UTC 2014

Hi All,

I have a script, similar to this:


echo $$ >/var/run/
trap "rm /var/run/; exit 0" EXIT

while [ 1 ]

    sleep 60


This works - but an attempt to 'kill' it, e.g.

kill `head -1 /var/run/`

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 :(



More information about the freebsd-questions mailing list