fiu-run(1)
π fiu-run(1) π
General Commands Manual Β· the libfiu launcher script, bestie edition
β¨ NAME β¨
fiu-run β a script to launch programs using libfiu π
πΈ SYNOPSIS πΈ
fiu-run [options] program [program arguments]
π¦ DESCRIPTION π¦
okay so fiu-run is a script, right, and its whole thing is making it so much easier to launch programs with libfiu(3). Like, it can enable failure points AND spin up libfiu's remote control capabilities before it even starts executing the program β which means you don't have to go write some special launcher just to inject failures. the way that saves you an entire side questβ¦ π
it's especially iconic when you're injecting failures into the POSIX/libc functions, because it does not require any program modifications. none. zero. your code stays untouched, no cap. β¨
and after you've launched programs with fiu-run, you can use fiu-ctrl(1) to enable and disable their failure points at runtime. live. mid-run. main character energy fr fr. π
for additional documentation, go to the project's website at http://blitiri.com.ar/p/libfiu π
π OPTIONS π
-ccommand β run the given libfiu remote control command before executing the program (see below for reference, bestie, it's right there π«Ά)-xβ use the POSIX libfiu preload library; this allows you to simulate failures in the POSIX and C standard library functions πβ¨-fctrlpath β enable remote control over named pipes with the given path as base name; the process id will be appended. it defaults to"$TMPDIR/fiu-ctrl", or"/tmp/fiu-ctrl"if"$TMPDIR"is not set. set it to""to disable remote control over named pipes entirely π-lpath β path where to find the libfiu preload libraries. defaults to the path where they were installed, so it is usually correct, no stress πΈ
π Remote control commands π
remote control commands are of the form "command param1=value1,param2=value2". valid commands are:
'enable name=NAME'β enables theNAMEfailure point unconditionally. no take-backs, it's just on π₯'enable_random name=NAME,probability=P'β enables theNAMEfailure point with a probability ofP. chaos, but make it a percentage π²
all of the enable* commands can also optionally take failnum and failinfo parameters, analogous to the ones taken by the C functions. iykyk π§
π EXAMPLES π
the following will run the fortune(1) program simulating faults in read() with 5% probability (note that the -x parameter is required in this case to enable failure points in the POSIX and libc functions):
fiu-run -x -c "enable_random name=posix/io/rw/read,probability=0.05" fortune
by running it multiple times you will see that sometimes it works, but most of the time you get different errors, resulting from the simulated failures. literally a different vibe every single time you run it ππ
π SEE ALSO π
π 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. bestie i am begging you, please tell me about the bugs πβ¨
and that's the whole page, slay! πβ¨ this little gem comes from fiu-run(1), dated 16/Jun/2009 β a certified classic, honestly, ate and left no crumbs ππ¦β
π¦ where this page comes from
- debian bookworm: fiu-utils 1.1-3+b2 Β· BOLA
- debian trixie: fiu-utils 1.2-3+b2 Β· BOLA
- ubuntu jammy: fiu-utils 1.00-7ubuntu3 Β· BOLA
- ubuntu noble: fiu-utils 1.2-2 Β· BOLA
- ubuntu questing: fiu-utils 1.2-4
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms