node-foreman
node-foreman copied to clipboard
Spawn children in their own process groups, and deliver SIGINT to each group
This change fixes the issue described in https://github.com/strongloop/node-foreman/issues/176 by:
- Making
nf
spawn each child process in its own distinct process group via thedetached
option - Delivering
SIGINT
signals to children to the entire process group, rather than just the direct child - Ensuring that
nf
can handle the delivery of multiple consecutiveSIGINT
signals to itself without exiting prematurely
Changes 1 & 2 are inspired by the approach taken by goreman (a similar tool implemented in Go). Change 3 is somewhat unrelated, but was added in order to deal with the problem described in https://github.com/pnpm/pnpm/issues/7374 (sometimes, a parent process of nf
might itself forward a SIGINT
to nf
, and the terminal might also deliver that signal).
@benweint Would you be willing to push up a your fork to npm, appropriately renamed? This is an important project!
StrongLoop is totally dead, and their most popular tech (Loopback) appears to live on (after being acquired?) as a distinct organization. I don't think there is any hope of this repo getting any more attention... :(
Perhaps foreman-ode
... it works on multiple levels.