Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

385
Visualizações
Kill () no elimina el proceso secundario en node.js
const kill = require('tree-kill') . . . function killWorkload() { Logger.log("within kill"); if (global.currentChild) { Logger.log(global.currentChild.pid); try { kill(global.currentChild.pid, 'SIGKILL', (error) => { Logger.log(error); }); } catch (e) { Logger.error("Unable to Kill"+ e); } } Logger.log("Child killed"); } process.on('SIGINT', (exitCode) => { killWorkload(); Logger.log("Aborted"); }); . . . global.currentChild.on('exit', async(exitCode) => { global.currentChild = ""; //Non normal exit, Something went wrong if (exitCode !== 0) { await Logger.logMsg(exitCode, resultPath); //Writes the exitCode to Logger.txt process.exit(); } //Normal exit else { process.exit(); } }

global.currentchild es un 'proceso secundario' generado que es un ejecutable cpp.

 within kill 12380 Child killed Aborted Error: Command failed: taskkill /pid 12380 /T /F ERROR: The process "12380" not found. at ChildProcess.exithandler (child_process.js:390:12) at ChildProcess.emit (events.js:400:28) at maybeClose (internal/child_process.js:1055:16) at Socket.<anonymous> (internal/child_process.js:441:11) at Socket.emit (events.js:400:28) at Pipe.<anonymous> (net.js:675:12) { killed: false, code: 128, signal: null, cmd: 'taskkill /pid 12380 /T /F' }

este es el resultado que obtengo. Kill() tarda en ejecutarse. Incluso intenté poner el bloque de eliminación dentro de una nueva Promise() con await que tampoco funciona.

El flujo que quiero es generar un signo y debería eliminar el proceso secundario y, a su vez, global.currentChild.on('exit') debe ejecutarse y llamar a process.exit() dentro.

Usé esta línea solo para depurar

 Logger.log("Aborted");

Alguien podría ayudarme con esto, ¿qué estoy haciendo mal aquí?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda