Crate daemonizer [] [src]

daemonize is a library for writing system daemons. Inspired by the Python library thesharp/daemonize.

The respository is located at https://github.com/jan-schreib/daemonizer/.

Usage example:

#[macro_use] extern crate log;
extern crate daemonizer;

use daemonizer::{Daemonize};

fn main() {
    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.
        .privileged_action(|| "Executed before drop privileges");

    match daemonize.start() {
        Ok(_) => info!("Success, daemonized"),
        Err(e) => error!("{}", e),
    }
}

Structs

Daemonize

Daemonization options.

Enums

DaemonizeError

This error type for Daemonize start method.

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