儿童的NodeJS流程:从已经初始化过程写入标准输入(Nodejs Child Process: w

2019-07-03 13:42发布

我试图产卵外部进程phantomjs使用节点的child_process ,然后将信息发送到该进程已经初始化之后,这可能吗?

我有以下代码:

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')");

但我在标准输出拥有的唯一一件事情是phantomjs控制台的初始提示。

phantomjs> 

因此,它似乎child.stdin.write不作任何效果。

我不知道我能发送更多信息phantomjs亚特初始产卵。

提前致谢。

Answer 1:

您还需要传递\n符号让你的指挥工作:

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')\n");

child.stdin.end(); /// this call seems necessary, at least with plain node.js executable


文章来源: Nodejs Child Process: write to stdin from an already initialised process