首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将合并的流输送到生成的进程的stdin?

如何将合并的流输送到生成的进程的stdin?
EN

Stack Overflow用户
提问于 2017-10-09 19:40:30
回答 1查看 64关注 0票数 0

我想编写一个包装程序,将它通过websocket接收到的文本注入到生成的进程中。

我试过这样的方法

代码语言:javascript
复制
const { spawn } = require('child_process');
const cmd = spawn(cmdname, {stdio:"inherit"})
// cmd.stdin is null

但是我需要cmd.stdin,所以我尝试了下面的方法,但是它不起作用,我不知道出了什么问题。例如,对于cmdname=python3,它应该表现得像一个repl,但它不是。

代码语言:javascript
复制
const { spawn } = require('child_process');
const cmd = spawn(cmdname, {stdio:["pipe", 1, 2]})
process.stdin.pipe(cmd.stdin)

//var websocket = require('websocket-stream')
//var mergeStream = require('merge-stream')
//var wss = websocket.createServer({
//  perMessageDeflate: false,
//  port: opts.port
//}, handle)

//function handle(wstream) {
//  mergeStream(wstream,process.stdin).pipe(cmd.stdin);
//}

由于上述问题,我没有测试合并部分。如果相关的话,我的节点版本是v8.6.0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-11 12:58:15

问题是我必须把-i放在args中

代码语言:javascript
复制
const cmd = spawn("python3",["-i"], {stdio:["pipe", 1, 2]})

我不需要合并这条小溪。

以下是完整的代码:复包

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46653847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档