table of contents
| TIMELIMIT(1) | General Commands Manual | TIMELIMIT(1) |
NAME¶
timelimit —
effectively limit the absolute execution time of a
process
SYNOPSIS¶
timelimit |
[-pq-S
killsig-s
warnsig-T
killtime-t
warntimearguments
... ] |
DESCRIPTION¶
Thetimelimit utility executes a given
command with the supplied
arguments and terminates the spawned process
after a given time with a given signal. If the process exits before the time
limit has elapsed, timelimit will silently
exit, too.
Options:
-p- If the child process is terminated by a signal,
timelimitpropagates this condition, i.e. sends the same signal to itself. This allows the program executingtimelimitto determine whether the child process was terminated by a signal or actually exited with an exit code larger than 128. -q- Quiet operation -
timelimitdoes not output diagnostic messages about signals sent to the child process. -Skillsig- Specify the number of the signal to be sent to the process killtime seconds after warntime has expired. Defaults to 9 (SIGKILL).
-swarnsig- Specify the number of the signal to be sent to the process warntime seconds after it has been started. Defaults to 15 (SIGTERM).
-Tkilltime- Specify the maximum execution time of the process before sending killsig after warnsig has been sent. Defaults to 120 seconds.
-twarntime- Specify the maximum execution time of the process in seconds before sending warnsig. Defaults to 3600 seconds.
ENVIRONMENT¶
KILLSIG- The killsig to use if the
-Soption was not specified. KILLTIME- The killtime to use if the
-Toption was not specified. WARNSIG- The warnsig to use if the
-soption was not specified. WARNTIME- The warntime to use if the
-toption was not specified.
EXIT STATUS¶
If the child process exits normally, thetimelimit utility will pass its exit code
on up. If the child process is terminated by a signal and the
-p flag was not specified, the
timelimit utility's exit status is 128 plus
the signal number, similar to sh(1). If the
-p flag was specified, the
timelimit utility will raise the signal
itself so that its own parent process may in turn reliably distinguish between
a signal and a larger than 128 exit code.
In rare cases, the timelimit utility may
encounter a system or user error; then, its exit status is one of the standard
sysexits(3) values:
EX_USAGE- The command-line parameters and options were incorrectly specified.
EX_SOFTWARE- The
timelimitutility itself received an unexpected signal while waiting for the child process to terminate. EX_OSERR- The
timelimitutility was unable to execute the child process, wait for it to terminate, or examine its exit status.
EXAMPLES¶
The following examples are shown as given to the shell:timelimit -p /usr/local/bin/rsync
rsync://some.host/dir /opt/mirrortimelimit
issues a SIGKILL 120 seconds after the SIGTERM. If the rsync process is
terminated by a signal, timelimit will
itself raise this signal.
tcpserver 0 8888 timelimit -t600
-T300 /opt/services/chat/statsenv WARNTIME=4.99 WARNSIG=1
KILLTIME=1.000001 timelimit sh stats.shSEE ALSO¶
kill(1), rsync(1), signal(3), tcpserver(n)STANDARDS¶
No standards documentation was harmed in the process of creatingtimelimit.
BUGS¶
Please report any bugs intimelimit to the
author.
AUTHOR¶
Thetimelimit utility was conceived and
written by
Peter Pentchev ⟨roam@ringlet.net⟩ with contributions and suggestions by
Karsten W Rohrbach ⟨karsten@rohrbach.de⟩,
Teddy Hogeborn ⟨teddy@fukt.bsnet.se⟩, and
Tomasz Nowak ⟨nowak2000@poczta.onet.pl⟩.
| September 29, 2010 | Debian |