【问题标题】:Starting a program in screen (linux) using golang使用 golang 在屏幕(linux)中启动程序
【发布时间】:2021-11-28 15:01:37
【问题描述】:

我想在 linux 中使用 os/exec 库在 golang 项目中启动一个 .exe 文件。
我通常使用“mono”来启动 .exe 文件,所以我这样做了:

command := make([]string, 7)
command = {"screen", "-S", screenName, "-d", "-m", "mono", exeFile}
cmd := exec.Command(command[0], command[1:]...)
cmd.Dir = "ConsoleClient"
_, err := cmd.Output() //*

我无法运行它,我也尝试使用 cmd.Run()cmd.Start()

*使用cmd.Start()(对我来说是最好的方法)我没有看到任何错误,但最终屏幕没有创建

在我的command 末尾添加^M 也失败了

【问题讨论】:

  • screen 是一个终端管理应用。你希望在这里完成什么,从os/exec 运行screen?顺便说一句,.exe 纯粹是一个 dos/windows 的东西,在 posix-land 中不存在。
  • @DanielFarrell 如果您在终端内执行“屏幕”,您可以运行屏幕。我想创建一个屏幕并在其中执行一个 .exe。要执行 .exe 文件,我总是使用“单运行时”,它工作正常。要在屏幕中执行不加入的命令,您需要输入 screen -d -m

标签: linux go exec gnu-screen


【解决方案1】:

在第 2 行试试这个:

command = {"screen", "-dmS", screenName, "mono", exeFile}

参数应该在屏幕名称之前。

【讨论】:

    猜你喜欢
    • 2016-10-11
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多