Date: Wed, 16 Jul 2014 10:31:22 +0100 From: Karl Pielorz <kpielorz_lst@tdx.co.uk> To: freebsd-questions@freebsd.org Subject: sh 'sleep' and trap? Message-ID: <917611ACD1C0644B793C5B81@Mail-PC.tdx.co.uk>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?917611ACD1C0644B793C5B81>