如何在交互式模式下运行一个golang应用程序?

问题描述 投票:0回答:1

我试图从nodejs中以交互模式运行一个golang应用程序(这样它就会提示用户它需要的信息),就像这样。

childprocess.execFileSync(pulumiExecutable, ["stack", "select"], { encoding: "utf-8", shell: true, stdio: "inherit" });

然而它使用的是 该功能 如果它认为它不是从终端运行的,就会自动禁用交互模式。大概是因为 IsTerminal() 正在返回false.我想知道,当我告诉nodejs从父进程中继承IO流时,我还可以尝试做什么来保持交互模式。

鉴于我告诉nodejs从父进程继承IO流,我想知道当我从nodejs中调用pulumi时,我还可以尝试做什么来保持在交互模式下。

node.js go child-process stdio pulumi
1个回答
1
投票

原来有两个原因导致它没有在交互模式下运行。

  1. 以WebStorm运行配置的方式运行nodejs程序,使得它是非交互式的。
  2. 在shell模式下运行子进程也会使其非交互式运行。

当从终端运行nodejs程序时,这种情况就会有效。

childprocess.execFileSync(pulumiExecutable, ["stack", "select"], { encoding: "utf-8", stdio: "inherit" });
© www.soinside.com 2019 - 2024. All rights reserved.