【发布时间】: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