我有一个用于Chrome扩展的NodeJS本机主机,该主机生成python进程。 当我卸载扩展程序时,节点进程不会终止。
从此处的答案开始:Close Native Host when Chrome is closed by the user Chrome应该将“ -1”发送给主机。 我应该在哪里听这些数据?
我从这里使用一个示例:https://github.com/simov/native-messaging
这是代码:
process.stdin.on('readable', () => {
var input = []
var chunk
while (chunk = process.stdin.read()) {
if (chunk===-1) {
sendMessage({message: 'python', body: 'exiting'});
process.exit();
}
input.push(chunk)
}
input = Buffer.concat(input)
if (Buffer===-1) {
process.exit();
}
//sendMessage({message: 'python', body: Buffer});
//console.log('\u0007');
var msgLen = input.readUInt32LE(0)
var dataLen = msgLen + 4
if (input.length >= dataLen) {
var content = input.slice(4, dataLen)
var json = JSON.parse(content.toString())
handleMessage(json)
if (json===-1) {
process.exit();
}
}
})
我尝试在所有地方检查此“ -1”值,但该过程仍未退出。
我在做什么错了?