sapling/eden/cli
Adam Simpkins 0253ff3d52 have edenfs daemonize itself by default
Summary:
This updates edenfs to be able to daemonize itself, and moves the
daemonization logic from the python CLI code into C++.

The main benefit of this is that we can now do a better job of reporting
messages to the user during start-up.  We can log around potentially slow
operations (opening the RocksDB local store), and we can print messages
directly to the user if startup fails.  Previously most failure messages would
go only to the eden log and would not be printed to the user's terminal.

This also fixes some issues where stdin and stdout were not closed properly
when daemonization was performed by the CLI.  sudo needed access to these file
descriptors in case it needed to prompt for a password, and it would then hold
the descriptors open until edenfs exited.

Reviewed By: wez

Differential Revision: D8373672

fbshipit-source-id: 3272bff2208596f41d26e479c82c700d6c1efe11
2018-06-26 12:07:07 -07:00
..
test refactor the "eden doctor" command 2018-06-25 21:06:19 -07:00
buck.py refactor and split out some cli functions 2018-05-10 13:49:44 -07:00
cmd_util.py enable Black python formatting and apply to eden 2018-05-09 21:37:07 -07:00
config.py have edenfs daemonize itself by default 2018-06-26 12:07:07 -07:00
configinterpolator.py enable Black python formatting and apply to eden 2018-05-09 21:37:07 -07:00
daemon.py refactor and split out some cli functions 2018-05-10 13:49:44 -07:00
debug.py document the "eden debug" command 2018-06-21 11:21:20 -07:00
doctor.py refactor the "eden doctor" command 2018-06-25 21:06:19 -07:00
filesystem.py Eden doctor should check that bind mounts in the config are mounted 2018-06-20 18:07:41 -07:00
main.py fix eden rm to work even if the checkout is not currently mounted 2018-06-23 12:20:18 -07:00
mtab.py Eden doctor should check that bind mounts in the config are mounted 2018-06-20 18:07:41 -07:00
rage.py Eden doctor should check that bind mounts in the config are mounted 2018-06-20 18:07:41 -07:00
stats_print.py Reformat already opted in directories with Black Beta @allow-large-files 2018-05-18 23:07:24 -07:00
stats.py Provide real-time values for memory statistics 2018-06-21 15:51:51 -07:00
stdout_printer.py Upgrade to 18.5b1 2018-05-30 01:11:47 -07:00
subcmd.py Upgrade to 18.5b1 2018-05-30 01:11:47 -07:00
util.py fix timeout handling in eden stop 2018-06-12 11:54:49 -07:00
version.py enable Black python formatting and apply to eden 2018-05-09 21:37:07 -07:00