1*64d114baSDavid du Colombier#!/bin/rc 2*64d114baSDavid du Colombier# await secs cmd ... - wait at most secs for cmd to complete, but don't kill it. 3*64d114baSDavid du Colombier# cmd's stdin will be /dev/null. 4*64d114baSDavid du Colombierswitch ($#*) { 5*64d114baSDavid du Colombiercase 0 1 6*64d114baSDavid du Colombier echo usage: $0: 'maxsecs cmd ...' >[1=2] 7*64d114baSDavid du Colombier exit usage 8*64d114baSDavid du Colombier} 9*64d114baSDavid du Colombier 10*64d114baSDavid du Colombierrfork e 11*64d114baSDavid du Colombiersecs=$1 12*64d114baSDavid du Colombiershift 13*64d114baSDavid du Colombier 14*64d114baSDavid du Colombier$* & 15*64d114baSDavid du Colombiercmdpid=$apid 16*64d114baSDavid du Colombier 17*64d114baSDavid du Colombierfor (s in `{seq $secs}) 18*64d114baSDavid du Colombier if (test -e /proc/$cmdpid) 19*64d114baSDavid du Colombier sleep 1 20*64d114baSDavid du Colombierif (test -e /proc/$cmdpid) 21*64d114baSDavid du Colombier echo $0: $"*: still running >[1=2] 22