.TH fiu-ctrl 1 "16/Jun/2009"
.SH NAME
fiu-ctrl - a script to remote control programs using libfiu
.SH SYNOPSIS
fiu-ctrl [options] PID [PID ...]
.SH DESCRIPTION
fiu-ctrl is a script to enable/disable failure points in running programs that
are using \fBlibfiu\fR(3).
Programs are usually launched using \fBfiu-run\fR(1), which enables
libfiu's remote control capabilities without the need to modify the
program's code.
For additional documentation, go to the project's website at
.IR http://blitiri.com.ar/p/libfiu .
.SH OPTIONS
.TP
.B "-c command"
Run the given libfiu remote control command before executing the program (see
below for reference).
.TP
.B "-f ctrlpath"
Set the default prefix for remote control over named pipes. Defaults to
"$TMPDIR/fiu-ctrl", or "/tmp/fiu-ctrl" if "$TMPDIR" is not set, which is the
usually correct for programs launched using \fBfiu-run\fR(1).
.P
Remote control commands are of the form
"\fIcommand param1=value1,param2=value2\fR".
Valid commands are:
.TP
.B 'enable name=NAME'
Enables the NAME failure point unconditionally.
.TP
.B 'enable_random name=NAME,probability=P'
Enables the NAME failure point with a probability of P.
.TP
.B 'disable name=NAME'
Disables the NAME failure point.
.P
All of the \fIenable*\fR commands can also optionally take \fIfailnum\fR and
\fIfailinfo\fR parameters, analogous to the ones taken by the C functions.
.SH EXAMPLES
The following command will tell the process running with PID 12345 to enable
the failure point \fIposix/io/read\fR with a 25% of probability to fail, and the
failure point \fIlibc/mm/malloc\fR with a 5% of probability to fail:
.RS
.nf
fiu\-ctrl \-c 'enable_random name=posix/io/*,probability=0.25' \\
\-c 'enable_random name=libc/mm/*,probability=0.05' 12345
.fi
.RE
And the following will tell the same process to disable the previously enabled
failure point \fIposix/io/read\fR:
.RS
.nf
fiu\-ctrl \-c 'disable name=posix/io/read' 12345
.fi
.RE
.SH SEE ALSO
.BR libfiu (3),
.BR fiu-run (1).
.SH BUGS
If you want to report bugs, or have any questions or comments, just let me
know at albertito@blitiri.com.ar. For more information about libfiu, you can
go to http://blitiri.com.ar/p/libfiu.