S6-MAXIMUMTIME(1)

NAME
s6-maximumtime - execute a program with a time limit

SYNOPSIS
s6-maximumtime [-0 | -a | -b | -i | -k | -q | -t | -x | -1 | -2] milli prog...

DESCRIPTION
s6-maximumtime forks and exec(3) s prog... as a child.

If milli milliseconds elapse before prog exits, s6-maximumtime sends it a signal and exits 99 with a message.

Else s6-maximumtime exits with the same exit code as prog.

If milli is 0, then it's interpreted as infinite: no time limit will be enforced.

OPTIONS

-0  On timeout, do not send any signal, just exit.

-a  On timeout, send a SIGALRM.

-b  On timeout, send a SIGABRT.

-i  On timeout, send a SIGINT.

-k  On timeout, send a SIGKILL.

-q  On timeout, send a SIGQUIT.

-t  On timeout, send a SIGTERM - this is the default.

-x  On timeout, send a SIGXCPU.

-1  On timeout, send a SIGUSR1.

-2  On timeout, send a SIGUSR2.

EXIT STATUS

99  Timeout.

111 Temporary error.

100 Permanent error, such as a misuse.

127 Unable to execute program - not found.

126 Unable to execute program - other reason.

SEE ALSO
s6-basename(1), s6-cat(1), s6-chmod(1), s6-chown(1), s6-clock(1), s6-cut(1), s6-dirname(1), s6-dumpenv(1), s6-echo(1), s6-env(1), s6-expr(1), s6-false(1), s6-format-filter(1), s6-grep(1), s6-head(1), s6-hiercopy(1), s6-linkname(1), s6-ln(1), s6-ls(1), s6-mkdir(1), s6-mkfifo(1), s6-nice(1), s6-nuke(1), s6-pause(1), s6-printenv(1), s6-quote(1), s6-quote-filter(1), s6-rename(1), s6-rmrf(1), s6-seq(1), s6-sleep(1), s6-sort(1), s6-sync(1), s6-tai64ndiff(1), s6-tail(1), s6-touch(1), s6-true(1), s6-uniquename(1), s6-unquote(1), s6-unquote-filter(1), s6-update-symlinks(1), seekablepipe(1)

This man page is ported from the authoritative documentation at: https://skarnet.org/software/s6-portable-utils/s6-maximumtime.html

AUTHORS
Laurent Bercot Alexis <flexibeast@gmail.com> (man page port)