0
我正在嘗試爲Unturned(這是一個殭屍生存遊戲)編寫管理工具。該遊戲的服務器在終端中運行。我想以某種方式獲得該控制檯的實時輸出,同時能夠寫入終端,這樣我就可以使用我在node.js中編寫的管理工具來控制服務器。我試圖谷歌/搜索解決方案,但不完全確定要尋找什麼。到目前爲止,我用child_process嘗試了不同的事情,但無濟於事。這樣的事情甚至可能,當是的時候如何?node.js:重定向標準輸入,(不同)控制檯應用程序的標準輸出
const spawn = require('child_process').spawn;
const proc = spawn("Unturned.exe", ["-batchmode", "-nographics", "+secureserver/servername", "", "", "", ]);
proc.stdout.on('data', (data) => {
console.log(data);
});
proc.stderr.on('data', (data) => {
console.log(data);
});
proc.on('exit', (code) => {
console.log(`Child exited with code ${code}`);
});
等等。
const spawn = require('child_process').spawn;
const proc = spawn("Unturned.exe", ["-batchmode", "-nographics", "+secureserver/servername", "", "", "", ], { stdio: ['pipe', 'pipe', 'pipe'] });
proc.stdout.on('data', (data) => {
console.log("stdout: "+data);
});
proc.stderr.on('data', (data) => {
console.log("stderr: "+data);
});
proc.on('exit', (code) => {
console.log(`Child exited with code ${code}`);
});
兩者都不起作用(第一個沒有得到輸入/輸出,第二個沒有成功啓動服務器)。
在此先感謝。
輸出是第一個代碼給我回來的。所以我想它不會發送到標準輸出,但在別的地方。有沒有辦法找出它輸出/輸入的蒸汽,然後讀取/寫入它? – BlakkCooper
在Windows中,exe可以直接將數據發送到控制檯,繞過標準流(不是與nodejs使用的控制檯相同)。如果這種情況下你無法捕捉它 –