X-Git-Url: https://git.distorted.org.uk/~mdw/misc/blobdiff_plain/0db9a123423710b79d3191146e5055806ccf9e36..HEAD:/mtimeout.c diff --git a/mtimeout.c b/mtimeout.c index 9b22fb7..373f2b0 100644 --- a/mtimeout.c +++ b/mtimeout.c @@ -287,7 +287,11 @@ static void strtotime(const char *p, struct timeval *tv) /*----- Help functions ----------------------------------------------------*/ static void usage(FILE *fp) - { pquis(fp, "Usage: $ [-s SIG] SECONDS COMMAND [ARGUMENTS ...]\n"); } +{ + pquis(fp, + "Usage: $ [-K] [-b TIME] [-k TIME] [-s SIG] " + "TIME COMMAND [ARGUMENTS ...]\n"); +} static void version(FILE *fp) { pquis(fp, "$ (version " VERSION ")\n"); } @@ -298,14 +302,21 @@ static void help(FILE *fp) usage(fp); pquis(fp, "\n\ Run COMMAND, giving it the ARGUMENTS. If it fails to complete within the\n\ -specified number of SECONDS, kill it. Otherwise exit with the status it\n\ -returns.\n \ +specified number of TIME, kill it. Otherwise exit with the status it\n\ +returns.\n\ +\n\ +A TIME is a possibly fractional number followed by an optional unit\n\ +designator, which may be `s', `m', `h', or `d', for seconds, minutes,\n\ +hours, or days, respectively. The default units are seconds.\n\ \n\ Options:\n\ -h, --help Show this help text.\n\ -v, --version Show version string.\n\ -u, --usage Show a terse usage summary.\n\ \n\ + -b, --bored-after=TIME Wait for TIME after sending SIGKILL.\n\ + -k, --kill-after=TIME Wait for TIME after signal before sending SIGKILL.\n\ + -K, --no-kill Don't send SIGKILL; just give up when bored.\n\ -s, --signal=SIG Send signal SIG to the command.\n\ "); } @@ -361,7 +372,7 @@ static void timeout(struct timeval *now, void *p) ta = &t->ta[t->ip++]; switch (ta->act) { case TA_MOAN: - moan(ta->u.s); + moan("%s", ta->u.s); break; case TA_KILL: kill(-t->kid, ta->u.i);