Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
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 warntime]
	       command [arguments ...]
     timelimit --features

DESCRIPTION
     The  timelimit 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:

     --features
	     List  the	compile-time  features	supported  by  this  version  of
	     timelimit:

	     timelimit
		     Always present, with the version of the timelimit tool.

	     subsecond
		     Present if timeouts with subsecond precision are supported,
		     with version 1.0.

     -p      If  the  child  process is terminated by a signal, timelimit propa-
	     gates this condition, i.e. sends the same signal to  itself.   This
	     allows  the  program  executing  timelimit to determine whether the
	     child process was terminated by a signal or actually exited with an
	     exit code larger than 128.

     -q      Quiet operation - timelimit does  not  output  diagnostic	messages
	     about signals sent to the child process.

     -S killsig
	     Specify the number of the signal to be sent to the process killtime
	     seconds after warntime has expired.  Defaults to 9 (SIGKILL).

     -s warnsig
	     Specify the number of the signal to be sent to the process warntime
	     seconds after it has been started.  Defaults to 15 (SIGTERM).

     -T killtime
	     Specify  the  maximum  execution time of the process before sending
	     killsig after warnsig has been sent.  Defaults to 120 seconds.

     -t warntime
	     Specify the maximum execution time of the process in seconds before
	     sending warnsig.  Defaults to 3600 seconds.

     On systems that support the setitimer(2)  system  call,  the  warntime  and
     killtime  values  may  be	specified in fractional seconds with microsecond
     precision.

ENVIRONMENT
     KILLSIG
	     The killsig to use if the -S option was not specified.

     KILLTIME
	     The killtime to use if the -T option was not specified.

     WARNSIG
	     The warnsig to use if the -s option was not specified.

     WARNTIME
	     The warntime to use if the -t option was not specified.

EXIT STATUS
     If the child process exits normally, the timelimit 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 timelimit utility itself received an  unexpected  signal  while
	     waiting for the child process to terminate.

     EX_OSERR
	     The timelimit utility 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/mirror

     Run  the  rsync  program to mirror a WWW or FTP site and kill it if it runs
     longer than 1 hour (that is 3600  seconds)  with  SIGTERM.   If  the  rsync
     process  does  not  exit  after  receiving  the SIGTERM, timelimit 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/stats

     Start  a  tcpserver(n) process listening on tcp port 8888; each client con-
     nection  shall  invoke  an  instance  of  an  IRC	statistics  tool   under
     /opt/services/chat  and  kill  it	after  600 seconds have elapsed.  If the
     stats process is still running after the SIGTERM, it will be  killed  by  a
     SIGKILL sent 300 seconds later.

	   env WARNTIME=4.99 WARNSIG=1 KILLTIME=1.000001 timelimit sh stats.sh

     Start a shell script and kill it with a SIGHUP in a little under 5 seconds.
     If  the  shell  gets stuck and does not respond to the SIGHUP, kill it with
     the default SIGKILL just a bit over a second afterwards.

SEE ALSO
     kill(1), rsync(1), signal(3), tcpserver(n)

STANDARDS
     No standards documentation was harmed in the process of creating timelimit.

BUGS
     Please report any bugs in timelimit to the author.

AUTHOR
     The  timelimit  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>.

FreeBSD ports 15.quarterly	 April 14, 2018 		    TIMELIMIT(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=timelimit&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help