节点子进程在父进程死亡时不会死亡

时间:2021-02-24 17:28:07

标签: node.js python-3.x

我在 Ubuntu 16.04.2 LTS (armv7l cpu) 上有以下节点脚本,它启动一个 python 脚本并读取 python 脚本写入 stdout 的数据。 python 进程包含一个无限循环,并不断扫描环境中的某些事件并将其打印出来。

它可以工作,但如果节点进程死了,python 进程会继续运行。 node进程死掉时,如何让python进程死掉?

const { spawn } = require('child_process');

const pyprog = spawn('/usr/bin/python3', ['/my/code/test.py']);

pyprog.stdout.on('data', data => {
    console.log(data.toString('utf8'));
});

pyprog.stderr.on('data', err => {
    console.error('error:', err);
});

pyprog.stdout.on('end', () => {
    console.log('python process ended');
});

我认为子进程会在父进程死亡时死亡,所以我不确定发生了什么。

0 个答案:

没有答案