Linux 如何使用Node.js完全重定向stdin和stdout?

Linux 如何使用Node.js完全重定向stdin和stdout?,linux,node.js,stdout,stdin,Linux,Node.js,Stdout,Stdin,一个糟糕的标题。。。我在创建命令行界面时遇到问题。 起初,我尝试了一段针对初学者的Haskell代码: main = do c <- getLine print c main 但它不能像exprest那样工作,每次按enter键时都不会显示输出,而是在runneras killed之后打印。。代码中有什么问题 我的环境是Archlinux。是不是runhaskell正在等待stdin关闭?@Deestan我又试了一次。当我手动触发'end'时,它会给出输出。但当我关闭它时,我

一个糟糕的标题。。。我在创建命令行界面时遇到问题。
起初,我尝试了一段针对初学者的Haskell代码:

main = do
  c <- getLine
  print c
  main
但它不能像exprest那样工作,每次按enter键时都不会显示输出,而是在
runner
as killed之后打印。。代码中有什么问题


我的环境是Archlinux。

是不是
runhaskell
正在等待
stdin
关闭?@Deestan我又试了一次。当我手动触发
'end'
时,它会给出输出。但当我关闭它时,我不能再向该流写入文本。是的,您必须在结束之前发送所有内容。似乎
runhaskell
在收到要运行的整个脚本之前拒绝执行任何工作,而关闭流就是发出已发送整个脚本信号的方式。
runner = spwan 'runhaskell', ['h.hs']
process.stdin.pipe runner.stdin
runner.stdout.pipe process.stdout
runner.stderr.pipe process.stderr