我有這個小任務,我有一個我運行的可執行文件,它給了我一個json行的流程。節點偵聽一個shell可執行文件的輸出
我想要一個節點腳本,可以監聽該可執行文件並處理輸出。
可執行我只是通過端子短與運行:
./generator
我這樣做之後,將開始運行並顯示JSON文件,直到我手動停止。
我有這個小任務,我有一個我運行的可執行文件,它給了我一個json行的流程。節點偵聽一個shell可執行文件的輸出
我想要一個節點腳本,可以監聽該可執行文件並處理輸出。
可執行我只是通過端子短與運行:
./generator
我這樣做之後,將開始運行並顯示JSON文件,直到我手動停止。
var spawn = require('child_process').spawn;
var content = '';
var child = spawn('./generator');
child.stdout.on('data', function(data) {
content += data;
});
child.on('close', function() {
console.log(content);
});
這是一個工作代碼,您可以運行該代碼作爲子代生成生成器腳本並接收其所有標準輸出。
希望這會有所幫助。
你可以請在你的代碼中添加一些上下文嗎? – ppperry
看看包裝ndjson。你會將你的子進程的標準輸出放入ndjson.parse()
,這將返回一個可讀的流。您將聽取該可讀流上的data
事件,並獲取已經爲您解析的對象。 (ndjson自述文件中的示例直接適用於您的情況)。
看看節點庫中的child_process https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options - 你應該能夠將監聽器添加到子進程和JSON的stdout中的「data」。解析什麼出來 – Catalyst