所以我有一些ruby代碼循環把字符串輸出到stdout使用puts
然後睡覺使用sleep
。然後我有一些node.js代碼在stdin上監聽數據事件,並簡單地記錄它從stdin獲取的內容。UNIX管道故障
如果我運行echo 'something' | node my_code.js
我會看到一些東西,但是如果我運行ruby my_code.rb | node my_code.js
我什麼也沒看到。
我不能使用UNIX管道將標準輸出從ruby代碼重定向到node.js代碼的stdin?
管道到'發球file'不會產生任何東西到標準輸出或文件中。紅寶石代碼處於連續循環中,不會退出。這是對管道的要求嗎? –
那麼,它的Ruby代碼不會在管道上產生任何東西,那麼JavaScript就沒有辦法從管道中讀取任何信息。你的Ruby代碼在做什麼?當它在輸出中沒有任何重定向的情況下運行時它會做什麼?它是否寫入標準輸出?如果它不寫入標準輸出,那麼管道輸出不起作用。 –
它打印到標準輸出就好了。代碼基本上是: 'loop {puts Random.rand;睡眠2}' –