xref: /plan9-contrib/rc/bin/await (revision 64d114ba0bc1e11c22fb23b8a656000f193e3bc2)
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