1. I have an orphaned child process that lives on past the parent process' lifespan
* Most likely a `SIGTERM` or `SIGINT` is not reaching the child process
2. How do insure all process are terminated?
2. How do I insure all process are terminated?
* In your core script register a listener for `SIGTERM` or `SIGINT` via `process.on()` which terminates (all) worker process(es) and then gracefully shutdowns via `process.exit(0);`
3. Why `SIGTERM` or `SIGINT`?
* Unix/BSD will work with `SIGTERM`, but if you also need to support Windows use `SIGINT`