The s6-fghack program
s6-fghack is an anti-backgrounding tool.
- s6-fghack opens a lot of file descriptors (all writing to a single pipe).
- Then it forks and executes prog....
- If something gets written on one of those descriptors, it's a bug in prog.
s6-fghack then complains and exits 102.
- Unless prog... goes out of its way to close descriptors it does not know about,
s6-fghack is able to detect when prog... exits. It exits with the same exit
code (or 111 if prog... has crashed).
s6-fghack is what it says: a hack. Ideally, you should never have to use it.
It is only useful when you want to supervise a daemon that does not provide a
"stay in the foreground" option; and even then, the right thing is to report
this as a bug to the daemon author and have it fixed.