var cp = require("child_process");
var proc = cp.spawn("cmd");
proc.stdout.on("data", data => console.log("Data:", data.toString()));
proc.stdin.write("help\n");
proc.stdin.write("help\n");
在上面的代码片段中,如何检测流何时完成特定命令的写入(即,如果在终端中执行这些命令,它将显示一个闪烁的光标,您可以在其中输入文本)?
我尝试使用监听事件end
,但这似乎只有在进程完成时才会被触发。
最佳答案
没有明确的方法可以知道,除非您正在执行的程序具有明确定义的输出格式(例如换行符分隔的 JSON、XML 等)。无论哪种方式,您都必须对程序输出执行某种解析(以及可能的缓冲)。
关于javascript - 检测 Node.js 中控制台输出的结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38576505/