Javascript 我如何向childprocess发送单独的消息?

Javascript 我如何向childprocess发送单独的消息?,javascript,node.js,stdout,stdin,child-process,Javascript,Node.js,Stdout,Stdin,Child Process,假设我用fork创建了一个childprocess,例如python脚本。现在我想向它发送一条消息,让它倾听并响应它。假设每次我向我的孩子发送“Hello”时,我都希望它以粗体打印“there”。 我的问题是,为了让我的子流程接收消息,我必须关闭子流程的流,但是我不能再次打开它来发送另一条消息。我怎样才能解决这个问题 我的代码应该如下所示: javascript: {fork} = require(child_process); child = fork('path/to/python.exe'

假设我用fork创建了一个childprocess,例如python脚本。现在我想向它发送一条消息,让它倾听并响应它。假设每次我向我的孩子发送“Hello”时,我都希望它以粗体打印“there”。 我的问题是,为了让我的子流程接收消息,我必须关闭子流程的流,但是我不能再次打开它来发送另一条消息。我怎样才能解决这个问题

我的代码应该如下所示:

javascript:

{fork} = require(child_process);
child = fork('path/to/python.exe', ['path/to/program.py']);
child.on('message', (m) => {
console.log(m.toString);
}

child.send("Hello");
setTimeout(()=>{child.send("there!)}, 1000);
python:

import sys
while True:
    print(sys.stdin.readline())
    sys.stdout.flush()
这里Javascript应该在控制台中打印“Hello”,然后在1秒后打印“there!”,但它什么也不做,因为为了让我的孩子接收消息,我必须先用child.stdin.end()关闭流。但是我不能再打开它了