node.js - Linux 的 stdin stdout 怎样实现, 我用 Node 怎样模拟?
黄舟
黄舟 2017-04-17 10:58:46
0
1
586

比方我运行的一个脚本, 里面有接受用户输入的内容, 然后交互式返回处理后的结果,,
比方说就一个 REPL 吧, 需要有输入输出的功能,
但是为了其他的需要, 比如我遇到的是重新加载的正在开发的模块,
于是, 我需要加一层脚本, 用来管理我正在开发的模块,
于是 stdin stdout 就不是用户直接操作到的那个了...

我用 Node 尝试了把标准输入输出全做了重定向,, 可是没有成功,,

runner = spwan 'runhaskell', ['h.hs']
process.stdin.pipe runner.stdin
runner.stdout.pipe process.stdout
runner.stderr.pipe process.stderr

代码的结果是返回的输出不会立即输出, 而是在脚本被重启时没有时会一次性输出,,,
我猜是我对标准输入输出的理解有欠缺, 他们不能直接重定向?
求指点..

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(1)
Peter_Zhu

估计是全缓冲导致的。看看nodejs里面对流的设置,改为行缓冲或者无缓冲吧。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板