This is a fork of the daemon. It includes a few additional features with the current being only 1 feature in which a second argument (boolean) can be passed to the main imported function to indicate whether the newly created child process should be returned or if the main parent process should be killed (default).
install via npm
npm install daemon-plus
Requires node >= 0.8
// this code is run twice, once by the// main process and once by the daemon// see implementation notes belowconsole;; // creates new child process, exists the parent// different pid because we are now forked// original parent has exitedconsole;
Respawn the process (self) as a daemon. The parent process will exit at the point of this call.
opt parameter see below.
returnChild [Boolean] when true, the parent process won't be exited and instead the instantiated child process will be returned.
daemon.daemon(script, args, opt)
script with given
args array as a daemonized process. Return the
child process object.
opt can optionally contain the following arguments:
- stdout (file descriptor for stdout of the daemon)
- stderr (file descriptor for stderr of the daemon)
- env (environment for the daemon) (default: process.env)
- cwd (current working directory for daemonized script) (default: process.cwd)
Daemon actually re-spawns the current application and runs it again. The only difference between the original and the fork is that the original will not execute past the
daemon() call whereas the fork will.
node versions prior to 0.8
Using this module on older versions of node (or older versions of this module) are not recommended due to how node works internally and the issues it can cause for daemons.