我正在try 使用node的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似乎没有产生任何效果.

我不确定我是否能在最初的产卵时向幻影水发送额外的信息.

提前谢谢.

推荐答案

您还需要通过\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

Node.js相关问答推荐

AWS Lambda呼叫未登录控制台

如何使用updateMany()和Node.js的方法?

使用 Google Drive API 按文件夹 ID 检索文件夹的内容

为什么它无法发送发布请求并更改为 chrome 中的获取方法?

如何在 Docker 容器中 SSO 登录 AWS(使用 aws-sdk v3)

try 在 NodeJS 项目中实现 SimplePay (OTP) 支付网关,但我无法获得与技术文档中相同的签名

多字段传递获取查询失败

如何在没有云功能的情况下使用 Google PubSub

获取用户 ID 后,Firebase 函数 onCreate 方法在 Firestore 上不起作用

TypeError:changeChecked 不是函数

错误:无法检测到网络(event="noNetwork",code=NETWORK_ERROR,version=providers/5.6.8)

如何更新 MongoDB 中对象数组中的键?

通过 npm 导入 Sass

如何使用 UglifyJS 缩小文件夹中的多个 Javascript 文件?

如何在客户端使用 node.js 模块系统

具有多个条件的mongoose 查找

Node.js 中空函数的简写

Bootstrap 中的 Grunt 依赖冲突

npm WARN 不推荐使用 graceful-fs@3.0.8:graceful-fs 版本 3

Javascript在try块内设置const变量