use daemonize::Daemonize;
fn main() {
let daemonize = Daemonize::new()
.pid_file("/tmp/my_daemon.pid") // Optional: Write PID to file
.chown_pid_file(true) // Optional: Change ownership
.working_directory("/tmp") // Optional: Set working directory
.privileged_action(|| "Executed before drop privileges");
match daemonize.start() {
Ok(_) => {
// Daemon logic goes here
println!("Daemon started successfully!");
loop {
// Do daemon work
std::thread::sleep(std::time::Duration::from_secs(5));
}
},
Err(e) => eprintln!("Error, {}", e),
}
}