sindresorhus/execa

Ability to kill all descendents of the child process

Chiusa

#96 aperta il 23 giu 2017

 (14 commenti) (13 reazioni) (0 assegnatari)JavaScript (219 fork)batch import
enhancementhelp wanted

Metriche repository

Star
 (6091 stelle)
Metriche merge PR
 (Merge medio 6g 18h) (6 PR mergiate in 30 g)

Descrizione

When I'm working with child processes, I sometimes end up with detached processes running indefinitely after I've killed the direct child, which can lead to blocked ports and memory leaks.

I sometimes fix this by using a module like ps-tree to find out all the descendants PIDs, and then send all of them a kill command, but it feels messy. It would be nice if execa could provide a clean, cross-platform API for this.

Maybe something like this:

const execa = require('execa');

const child = execa('./something');

// ...

child.killTree().then(() => {
  console.log('all dead!');
});

Guida contributor