rundeux(8) runtools rundeux(8)
NAME
rundeux - run a program with an associated logger
SYNOPSIS
rundeux [-hV] [-d] [-L label ] [-S sep ] [-x] program <'::'|'sep'> log-
ger
DESCRIPTION
program and logger may each be one or more arguments. They are sepa-
rated by the verbatim string ``::'', or by the sep argument defined
with the -S option.
rundeux starts program and logger with the stdout of program connected
to the stdin of logger. Normally program is intended to be a long-run-
ning process, and logger is a program that logs the data it reads on
its standard input. Both program and logger should be set up to run
under supervision as foreground processes.
After starting, rundeux continues to monitor both program and logger.
If either process should terminate, rundeux restarts it. When rundeux
itself receives any signal it can catch, it passes it on to program
with the kill(2) command.
If rundeux receives SIGTERM, it flags itself to terminate and initiates
a shutdown sequence. It sends SIGTERM and SIGCONT to program and waits
for it to terminate. It then closes the stdin of logger and waits for
it to terminate. Then rundeux itself exits normally.
OPTIONS
-d Detach. Normally rundeux itself runs as a foreground process.
The -d option may be used to run rundeux as a background
process, in its own session and process group, detached from the
controlling terminal.
-h Help. Print a brief usage message to stderr and exit.
-L label
Label. May be used to provide label as a distinctive tag for an
instance of rundeux, such as for reference in ps(1) listings.
Otherwise, this option has no effect.
-S sep Separator. Normally the program and logger arguments are sepa-
rated by the verbatim string ``::''. This option may be used to
specify sep as an alternative separator string.
-V Version. Print the version number to stderr and exit.
-x Exit. Normally rundeux itself stays resident as a system
process that monitors program and logger. The -x option causes
rundeux to start logger, and then replace itself with the pro-
gram process. In this case, program and logger will run as
unsupervised processes. May be combined with the -d option.
SIGNALS
When rundeux receives any catchable signal, it passes that signal on to
the program under its supervision.
If rundeux receives SIGTERM, it takes it as a shutdown command and per-
forms the following sequence:
o Send SIGTERM and SIGCONT signals to the program process and wait
for it to terminate.
o Close the stdin of the logger process and wait for it to terminate.
o rundeux itself then exits normally.
AUTHOR
Wayne Marshall, http://b0llix.net/perp/
SEE ALSO
runtools_intro(8), runargs(8), runargv0(8), runchoom(8), rundetach(8),
runenv(8), runfile(8), runlimit(8),