0

我想使用“go”编写一个控制台应用程序,它将控制权转移到另一个控制台应用程序。

以下是步骤:

  1. 运行二进制应用程序,它会在必要时验证并安装一些东西
  2. 二进制应用程序构造带有选项的命令字符串
  3. 二进制应用程序启动进程 B 并退出(在我的例子中是 node.js 应用程序)
  4. 进程 B 运行完成并将输出发送到同一控制台。

我需要的唯一步骤是能够启动新进程并退出,这就是这里的问题。

4

3 回答 3

1

os 包 看起来具有您可能需要的功能。用于启动进程的函数 StartProcess 和用于退出进程的函数 (*Process) Kill。

于 2012-11-22T02:41:42.647 回答
1

os/exec可能会有所帮助:

包 exec 运行外部命令。它包装了 os.StartProcess 以便更轻松地重新映射标准输入和标准输出、将 I/O 与管道连接以及进行其他调整。

查看Cmd.Start示例

于 2012-11-22T03:23:39.680 回答
1

请参阅Golang 分叉过程。简而言之,直接执行此操作存在问题。您应该改为使用非 Go 程序来启动您的 node.js 应用程序。

于 2012-11-22T13:58:39.983 回答