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

FreeBSD Manual Pages


home | help
AIRDAEMON(1)			   airframe			  AIRDAEMON(1)

       airdaemon - Run a program as a daemon process, restarting it if it dies

	   airdaemon   [--retry	RETRY_DELAY] [--retry-max RETRY_MAX_DELAY]
		       [--pidfile PID_FILE] [--airdaemon-pidfile PID_FILE]
		       [--log LOG_SPECIFIER] [--loglevel LOG_LEVEL]
		       [--verbose] [--version] [--no-daemon]

       airdaemon invokes a child process and ensures that it is	restarted if
       it encounters any errors.  The delay between child exit and restart can
       be chosen, and can either be constant or	exponentially increasing up to
       a specified maximum.

       Use of two dashes (--) after all	airdaemon command-line switches	allows
       PROGRAM_ARGS to be interpreted by the PROGRAM rather than airdaemon
       itself.	While they are not strictly required if	you do not need	to
       pass arguments to PROGRAM, they should be used for consistency.

   Daemon Options
	   Wait	RETRY_DELAY seconds after the child process exits abnormally
	   until trying	to restart the child process.  See also	--retry-max

	   This	parameter, combined with the --retry parameter,	facilitates
	   truncated binary exponential	backoff	of the retry logic.  The first
	   retry attempt will be delayed by the	value of the --retry
	   parameter.  If the child process exits abnormally within this time
	   period, the delay is	doubled.  Once the child process survives
	   longer than the value of the	--retry	parameter, the retry delay is
	   reset to that value.

	   For example,	assume --retry=30 and --retry-max=240.	The first time
	   the child process exits abnormally, airdaemon will wait 30 seconds
	   before invoking the child process again.  If	it exits abnormally
	   again within	30 seconds, airdaemon will wait	60 seconds and try
	   again.  If the process dies again within 30 seconds,	the delay
	   doubles again to 120.  The process continues	until the delay	hits
	   the maximum of 240.	Once the child process survives	for 30
	   seconds, the	delay will be reset to the original retry delay	of 30.

	   Write the process identifier	of the child process to	PID_FILE.
	   Each	time the child process is restarted, the process identifier in
	   this	file is	updated. This option exists to facilitate the
	   termination of the child process by shutdown	scripts. Note that if
	   the child process terminates	normally during	shutdown, airdaemon
	   will	terminate normally as well, so it is usually sufficient	just
	   to kill the pid in this file	at shutdown.

	   Write the process identifier	of the airdaemon process to PID_FILE.
	   This	option exists to facilitate the	termination of the forked
	   airdaemon process by	shutdown scripts.

	   Do not actually daemonize.  Mainly useful for testing/debugging.

   Logging Options
       These options are used to specify how log messages are routed.
       airdaemon can log to standard error, regular files, or the UNIX syslog

       --log LOG_SPECIFIER
	   Specifies destination for log messages. LOG_SPECIFIER can be	a
	   syslog(3) facility name, the	special	value stderr for standard
	   error, or the absolute path to a file for file logging. Standard
	   error logging is only available in --daemon mode if --foreground is
	   present. The	default	log specifier is stderr	if available, user

       --loglevel LOG_LEVEL
	   Specify minimum level for logged messages. In increasing levels of
	   verbosity, the supported log	levels are quiet, error, critical,
	   warning, message, info, and debug. The default logging level	is

	   Equivalent to --loglevel debug.

	   If present, print version and copyright information to standard
	   error and exit.

       The following will ping every 15 seconds until ping
       returns sucess:

	   airdaemon --retry 15	-- ping	-c 1

       The same	as above, except the delay will	double until reaching a
       maximum of 15 minutes:

	   airdaemon --retry 15	--retry-max 900	-- ping	-c 1

       Known issues are	listed in the README file in the Airframe source
       distribution. Note that airdaemon should	be considered alpha-quality
       software; not every concievable input and aggregation is	exhaustively
       tested at each release, and specific features may be completely
       untested. Please	be mindful of this before deploying airdaemon in
       production environments.	Bug reports and	feature	requests may be	sent
       via email to <>.

       Tony Cebzanov and  Brian	Trammell for the CERT Network Situational
       Awareness Group,


2.11.0				      1v			  AIRDAEMON(1)


Want to link to this manual page? Use this URL:

home | help