sindresorhus/execa

Ability to kill all descendents of the child process

Fechada

#96 aberto em 23 de jun. de 2017

 (14 comentários) (13 reações) (0 responsável)JavaScript (219 forks)batch import
enhancementhelp wanted

Métricas do repositório

Stars
 (6.091 estrelas)
Métricas de merge de PR
 (Mesclagem média 6d 18h) (6 fundiu PRs em 30d)

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

Guia do colaborador