Daemonize the current Node.js process
The module re-spawns the current process and then exits, which will lead to the new child process being adopted by init
or similar mechanisms, effectively putting the current process into the background.
Differences to the daemon
module include:
- Exposes all options of
child_process.spawn
. - Cleans up
process.env
after itself.
$ npm i daemonize-process
import {daemonizeProcess} from "daemonize-process";
daemonizeProcess();
// below here the process is daemonized
The options
object can contain any valid child_process.spawn
option as well as these properties:
-
script
string - The path to the script to be executed. Default: The current script. -
arguments
Array - The command line arguments to be used. Default: The current arguments. -
node
string - The path to the Node.js binary to be used. Default: The current Node.js binary. -
exitCode
number - The exit code to be used when exiting the parent process. Default:0
.
By default the standard streams of the child are ignored (e.g. attached to /dev/null
or equivalent). If you need these streams, adjust the stdio
option.
© silverwind, distributed under BSD licence