我想编写一个包装程序,将它通过websocket接收到的文本注入到生成的进程中。
我试过这样的方法
const { spawn } = require('child_process');
const cmd = spawn(cmdname, {stdio:"inherit"})
// cmd.stdin is null但是我需要cmd.stdin,所以我尝试了下面的方法,但是它不起作用,我不知道出了什么问题。例如,对于cmdname=python3,它应该表现得像一个repl,但它不是。
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
发布于 2017-10-11 12:58:15
https://stackoverflow.com/questions/46653847
复制相似问题