sindresorhus/execa

Ability to kill all descendents of the child process

Fermée

#96 ouverte le 23 juin 2017

 (14 commentaires) (13 réactions) (0 personne assignée)JavaScript (219 forks)batch import
enhancementhelp wanted

Métriques du dépôt

Stars
 (6 091 étoiles)
Métriques de merge PR
 (Merge moyen 6j 18h) (6 PRs mergées en 30 j)

Description

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!');
});

Guide contributeur