Nodejs дочерний процесс и SIGKILL - PullRequest
0 голосов
/ 11 июня 2019

Я ищу способ уничтожения всех дочерних процессов, порожденных, когда мой родительский процесс умирает (в том числе при получении SIGKILL).

Менеджер процессов PM2, похоже, имеет ключ, потому что отправка SIGKILL в pm2 Daemon вызываетвсе дочерние процессы для выхода (на платформе Linux).

Так вы знаете, как PM2 достигает этого?как я могу воспроизвести это поведение?

Спасибо!

1 Ответ

0 голосов
/ 11 июня 2019
'use strict'

const { fork } = require('child_process')

// fork a child process
const child = fork('new_process.js')

// when the main process exits, send the kill signal to the child process
process.on('exit', (code) => {
  console.log(`About to exit with code: ${code}`)
  child.kill(9)
})

Полезные документы

NodeJS - дочерний процесс - kill ()

NodeJS - Процесс - событие выхода

...