From e72a16a5bd729dbd0aa207d6a351482e6fec2a3c Mon Sep 17 00:00:00 2001 From: elkowar <5300871+elkowar@users.noreply.github.com> Date: Sat, 14 Aug 2021 14:03:16 +0200 Subject: [PATCH] Fix daemonization --- crates/eww/src/server.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/crates/eww/src/server.rs b/crates/eww/src/server.rs index be4447d..9a6abd1 100644 --- a/crates/eww/src/server.rs +++ b/crates/eww/src/server.rs @@ -181,7 +181,13 @@ pub enum ForkResult { fn do_detach(log_file_path: impl AsRef) -> Result { // detach from terminal match unsafe { nix::unistd::fork()? } { - nix::unistd::ForkResult::Child => {} + nix::unistd::ForkResult::Child => { + nix::unistd::setsid()?; + match unsafe {nix::unistd::fork()? + }{ + nix::unistd::ForkResult::Parent { .. } => std::process::exit(0), + nix::unistd::ForkResult::Child => {} + }} nix::unistd::ForkResult::Parent { .. } => { return Ok(ForkResult::Parent); }