fiu-ctrl(1) a script to remote control programs using libfiu


fiu-ctrl [options] PID [PID ...]


fiu-ctrl is a script to enable/disable failure points in running programs that are using libfiu(3).

Programs are usually launched using fiu-run(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


-c command
Run the given libfiu remote control command before executing the program (see below for reference).
-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 fiu-run(1).

Remote control commands are of the form "command param1=value1,param2=value2". Valid commands are:

'enable name=NAME'
Enables the NAME failure point unconditionally.
'enable_random name=NAME,probability=P'
Enables the NAME failure point with a probability of P.
'disable name=NAME'
Disables the NAME failure point.

All of the enable* commands can also optionally take failnum and failinfo parameters, analogous to the ones taken by the C functions.


The following command will tell the process running with PID 12345 to enable the failure point posix/io/read with a 25% of probability to fail, and the failure point libc/mm/malloc with a 5% of probability to fail:

fiu-ctrl -c 'enable_random name=posix/io/*,probability=0.25' \
         -c 'enable_random name=libc/mm/*,probability=0.05' 12345

And the following will tell the same process to disable the previously enabled failure point posix/io/read:

fiu-ctrl -c 'disable name=posix/io/read' 12345


If you want to report bugs, or have any questions or comments, just let me know at [email protected]. For more information about libfiu, you can go to