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

FreeBSD Manual Pages

  
 
  

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  sup-
		       ported, with version 1.0.

       -p      If the child process is terminated by a signal, timelimit prop-
	       agates  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 actu-
	       ally 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	 send-
	       ing  killsig after warnsig has been sent.  Defaults to 120 sec-
	       onds.

       -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 sig-
       nal and a larger	than 128 exit code.

       In rare cases, the timelimit utility may	encounter a system or user er-
       ror; then, its exit status is one of the	standard sysexits(3) values:

       EX_USAGE
	       The command-line	parameters and options were incorrectly	speci-
	       fied.

       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 is-
       sues 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
       connection 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 sec-
       onds.  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.0		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.0>

home | help