微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

运行外部控制台并获得spawn的输入?

如何解决运行外部控制台并获得spawn的输入?

我一直在尝试使用spawn启动命令,允许用户与该控制台交互并在node中检索输出

我可以获取输出或启动外部控制台,但是我似乎无法同时做到。例如,它需要使用任一标准命令netstat。或批处理文件

我已经尝试过以下方法

const spawn = require('child_process').spawn;

var process = spawn(
    "cmd.exe",['/c','test.bat'],{
    cwd: '.',detached: true,shell: true,});
process.stdout.on('data',function (data) {
    console.log("data:",data.toString());
});

process.stderr.on('data',function (data) {
    console.log("error:",data.toString());
});

process.on('exit',function (code) {
    console.log("finished");
});

哪个会启动外部控制台,并且exit会触发,但没有输出

我可以通过删除shell: true来获得输出,但是没有外部控制台启动,我无法结束该过程。

我用来模拟需要用户输入的批处理文件内容为:

@echo off
echo 123
pause

我已经将其与不需要用户交互的命令配合使用,但是我遇到了需要用户输入的麻烦。

windowsHide: false也没有为我做任何事情。

我错过了小步还是迈出了一大步?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。