卸载或卸载扩展程序时,Chrome Native Messaging退出NodeJS主机

时间:2019-12-18 05:04:54

标签: javascript node.js google-chrome-extension chrome-native-messaging

我有一个用于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”值,但该过程仍未退出。

我在做什么错了?

0 个答案:

没有答案