fiu-ctrl(1)

✨ NAME ✨

fiu-ctrl β€” a lil script that remote-controls programs using libfiu πŸŽ›οΈβœ¨

(and yeah bestie, you're reading the fiu-ctrl(1) page, section 1, General Commands Manual β€” you're exactly where you're supposed to be πŸ’…)


πŸ¦‹ SYNOPSIS πŸ¦‹

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

🌸 DESCRIPTION 🌸

okay so fiu-ctrl is a script that lets you enable and disable failure points in programs that are already running and using libfiu(3). like, mid-run. live. main character energy fr 🫢

Programs are usually launched using fiu-run(1), which turns on libfiu's remote control abilities without you having to go in and modify the program's code. no cap, zero edits needed πŸ”₯

For additional documentation, go to the project's website at http://blitiri.com.ar/p/libfiu πŸ’–


πŸ’… OPTIONS πŸ’…

  • -c command β€” run the given libfiu remote control command before executing the program (there's a whole reference down below, keep scrolling bestie πŸ‘‡)
  • -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 β€” and that default is usually the correct one for programs launched using fiu-run(1) ✨

πŸŽ€ the remote control commands πŸŽ€

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

  • 'enable name=NAME' β€” enables the NAME failure point unconditionally. no conditions, no hesitation, she said yes πŸ’…
  • 'enable_random name=NAME,probability=P' β€” enables the NAME failure point with a probability of P. it's giving "maybe, maybe not" 🌈
  • 'disable name=NAME' β€” disables the NAME failure point. not today, failure point 🚫

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


🌟 EXAMPLES 🌟

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
look at her go 😭 two whole commands in one line, chained with a backslash, absolutely iconic behavior 🫢

πŸ‘€ SEE ALSO πŸ‘€

libfiu(3), fiu-run(1) β€” go read those too, they're part of the family πŸ’œ


πŸ’€ 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. fr fr, don't be shy, we wanna hear from you πŸ“


and that's the whole page bestie πŸ’– this was the fiu-ctrl(1) manual page, dated 16/Jun/2009 β€” oldie but a goodie, still slaying βœ¨πŸŽ€πŸ’œ

πŸ“¦ where this page comes from