Crate yad[][src]

Yet Another Daemonizer is a daemonizing crate to easily, simply, and correctly create legacy daemons.

This crate focuses on manually creating a background process which is not managed by a supervisor such as systemd or launchd. It strives to follow all the best practices to correctly daemonize a process.

Example

match yad::with_options()
    .stdin(yad::options::Stdio::Null)
    .stderr(yad::options::Stdio::Null)
    .stdout(yad::options::Stdio::output("/var/log/daemon.log"))
    .daemonize()
{
    Ok(_) => println!("I'm a daemon"),
    Err(err) => eprintln!("Failed to lauch daemon: {}", err),
}

References

Modules

options

Configuration for starting the daemon.

Structs

Heartbeat

Allows reporting back to the invoker process if the initialization of the service was successful or not.

Enums

DaemonError

Errors that can happen after the daemon has forked.

Error

Errors that can happen while daemonizing.

Functions

daemonize

Starts the daemon with default options.

with_options

Starts the daemon with the given options.