javascript - 将缓冲区传递给 Node.js 子进程

标签 javascript node.js subprocess

在阅读了 Node.js 子进程的文档后,我很好奇是否可以将缓冲区传递给该进程。

https://nodejs.org/api/child_process.html

对我来说似乎只能传递字符串?如何传递缓冲区或对象?谢谢!

最佳答案

您只能传递 Buffer 或字符串。

var node = require('child_process').spawn('node',['-i']);
node.stdout.on('data',function(data) {
    console.log('child:: '+String(data));
});

var buf = new Buffer('console.log("Woof!") || "Osom\x05";\x0dprocess.exit();\x0d');
console.log('OUT:: ',buf.toString())
node.stdin.write(buf);

输出:

OUT::  console.log("Woof!") || "Osom♣";
process.exit();
child:: >
child:: Woof!

child:: 'Osom\u0005'

child:: >

因为 .stdinwritable stream .

\x0d(CR) 是交互模式下的“Enter”模拟。

关于javascript - 将缓冲区传递给 Node.js 子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30937751/

相关文章:

javascript - 如何在 JavaScript 中获得递归函数来输出每个返回值?

android - 使用 node-gcm 将负载通知发送到 android 设备

python - 如何使用子进程将 Ctrl 键发送到我的终端?

python:使用 xmllint 时子进程通信无限期等待

javascript - 停止函数事件第二次触发

Javascript随机背景图像大小

javascript - Angularjs - javascript 未加载到部分 View 内

javascript - 如何解决NodeJS方法优先级问题

javascript - JSON 到对象 - JavaScript

python - 如何在 python 中输入文件并对其运行异步命令?