This patch teaches shpool to daemonize like
pretty much all the other tools in the space.
Shpool has been pretty weird in not supporting
this considering this is how tmux and whatnot
work.
This new behavior needs to be opted into via
a command line flag, but part of me thinks that
it ought to be the new default behavior. If there
is a systemd service up and running it will get
used and otherwise a background daemon will get
fallen back on. I am a little worried that
people could get in a weird state if their
systemd service stalls out and they daemonize
without realizing it, but maybe that is an
ok tradeoff in exchange for better reliability
and more "just working" behavior.
BREAKING CHANGE: new arg field breaks libshpool public interface
This patch teaches shpool to daemonize like pretty much all the other tools in the space. Shpool has been pretty weird in not supporting this considering this is how tmux and whatnot work.
This new behavior needs to be opted into via a command line flag, but part of me thinks that it ought to be the new default behavior. If there is a systemd service up and running it will get used and otherwise a background daemon will get fallen back on. I am a little worried that people could get in a weird state if their systemd service stalls out and they daemonize without realizing it, but maybe that is an ok tradeoff in exchange for better reliability and more "just working" behavior.
BREAKING CHANGE: new arg field breaks libshpool public interface
Fixes #56