我正在尝试使用Node.js的child_process
来启动一个外部进程phantomjs
,并在初始化后向该进程发送信息,这是否可能?
以下是我的代码:
var spawn = require('child_process').spawn,
child = spawn('phantomjs');
child.stdin.setEncoding = 'utf-8';
child.stdout.pipe(process.stdout);
child.stdin.write("console.log('Hello from PhantomJS')");
但是我在标准输出(stdout)上只得到了PhantomJS控制台的初始提示。
phantomjs>
因此,看起来 child.stdin.write
没有产生任何影响。
我不确定在初始生成之后是否可以向phantomjs发送附加信息。
send()
函数从子进程发送消息到父进程,但不支持从父进程发送消息到子进程。当我使用fork
而不是spawn
时,它开始双向发送消息。 - Ankur Thakur