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 http://blitiri.com.ar/p/libfiu.
-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 http://blitiri.com.ar/p/libfiu.