[−][src]Crate cf_daemonize
daemonize is a library for writing system daemons. Inspired by the Python library thesharp/daemonize.
The respository is located at https://github.com/knsd/daemonize/.
Usage example:
extern crate daemonize; use std::fs::File; use daemonize::Daemonize; fn main() { let stdout = File::create("/tmp/daemon.out").unwrap(); let stderr = File::create("/tmp/daemon.err").unwrap(); let daemonize = Daemonize::new() .pid_file("/tmp/test.pid") // Every method except `new` and `start` .chown_pid_file(true) // is optional, see `Daemonize` documentation .working_directory("/tmp") // for default behaviour. .user("nobody") .group("daemon") // Group name .group(2) // or group id. .umask(0o777) // Set umask, `0o027` by default. .stdout(stdout) // Redirect stdout to `/tmp/daemon.out`. .stderr(stderr) // Redirect stderr to `/tmp/daemon.err`. .privileged_action(|| "Executed before drop privileges"); match daemonize.start() { Ok(_) => println!("Success, daemonized"), Err(e) => eprintln!("Error, {}", e), } }
Structs
Daemonize | Daemonization options. |
Stdio | Describes what to do with a standard I/O stream for a child process. |
Enums
DaemonizeError | This error type for |
Group | Expects system group id or name. If name is provided it will be resolved to id later. |
User | Expects system user id or name. If name is provided it will be resolved to id later. |
Type Definitions
Errno | |
gid_t | |
mode_t | |
uid_t |