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

FreeBSD Manual Pages

  
 
  

home | help
tryto(1)		    General Commands Manual		      tryto(1)

NAME
       tryto - tries to	run a command limited by a timeout or number of	tries,
       can be used to run as svlogd(8) processor.

SYNOPSIS
       tryto [-pPv] [-t	sec] [-k ksec] [-n tries] prog

DESCRIPTION
       prog consist of one or more arguments.

       tryto runs and watches prog, feeding its	standard input to prog's stan-
       dard  input.  If	prog exits with	a return code other then 0, tryto runs
       prog again after	sleeping one second.

       If the number of	retries	reaches	the maximal  number  of	 tries,	 tryto
       prints an error message and gives up.

       If  the timeout sec seconds is reached and prog is still	running, tryto
       sends a TERM signal to prog, waits ksec seconds for prog	to  terminate,
       then  sends  a KILL signal if prog still	is there, and exits as soon as
       possible.

OPTIONS
       -t sec timeout.	Set the	timeout	to send	TERM to	prog to	 sec  seconds.
	      Default is 180.

       -k ksec
	      kill timeout.  Set the timeout to	send KILL to prog to ksec sec-
	      onds.  Default is	5.

       -n tries
	      Set the maximal number of	tries to tries.	 If prog exited	with a
	      return  code  other that 0, tryto	tries to rewind	standard input
	      to the beginning using lseek(2) before starting prog again.  De-
	      fault is 5.

       -p     processor.  Use this option if you  run  tryto  as  a  svlogd(8)
	      processor	(see below).

       -P     process group.  Run prog in a new	session	and process group, and
	      send  signals  on	timeout	to prog's process group	instead	of its
	      pid.

       -v     verbose.	Print verbose messages to standard error.

PROCESSOR
       If tryto	sees the -p option, tryto runs as a svlogd(8)  or  multilog(8)
       processor, making use of	filedescriptors	4 and 5:

       Before starting prog, tryto moves the filedescriptor 5 to 2, so all er-
       ror  messages from tryto	and prog will be saved in svlogd(8)'s state to
       be processed on the next	run of tryto -p.

       After  starting	prog,  tryto  first  feeds  all	 data  it  reads  from
       filedescriptor  4  into	prog's	standard  input,  then	all  data from
       filedescriptor 0.

       If prog fails by	timeout	sec seconds or maximal number of tries,	 tryto
       prints  all  data from standard input to	standard output, an error mes-
       sage to standard	error, and exits with 0.

EXIT CODES
       If tryto	itself fails, it returns 111.

       If tryto	runs as	a svlogd(8) processor, tryto returns 0	in  all	 other
       cases.

       If prog was run successfully, tryto returns 0.

       If prog failed by timeout, tryto	returns	100.

       If  prog	 failed	by maximal number of tries, tryto returns the last re-
       turn code from prog.

SEE ALSO
       socklog(8), uncat(1), svlogd(8),	multilog(8), lseek(2)

	http://smarden.org/socklog/
	http://smarden.org/runit/

AUTHOR
       Gerrit Pape <pape@smarden.org>

								      tryto(1)

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

home | help