| # daemonize | |
| This is a small wrapper around daemon(3). | |
| ## Safety | |
| The implementation does not violate any of the constraints documented on | |
| `Command::pre_exec`, and this code is expected to be safe. | |
| This code may however cause a process hang if not used appropriately. Reading on | |
| the subtleties of CLOEXEC, CLOFORK and forking multi-threaded programs will | |
| provide ample background reading. For the sake of safe use, callers should work | |
| to ensure that uses of `daemonize` occur early in the program lifecycle, before | |
| many threads have been spawned, libraries have been used or files have been | |
| opened that may introduce CLOEXEC behaviors that could cause EXTBUSY outcomes in | |
| a Linux environment. |