关闭。这个问题需要details or clarity .它目前不接受答案。
想改进这个问题?通过 editing this post 添加详细信息并澄清问题.
2年前关闭。
Improve this question
假设我想从程序中执行 Vim,打开 Vim,然后退出 vim 后返回 Go 程序,而不是退出整个进程。我将如何处理?有没有一种方法可以在 Go 中 fork 程序?我在搜索中找不到这个问题的答案。
最佳答案
使用标准 os/exec
包裹。这是 documentation 中的一个基本示例:
package main
import (
"bytes"
"fmt"
"log"
"os/exec"
"strings"
)
func main() {
cmd := exec.Command("tr", "a-z", "A-Z")
cmd.Stdin = strings.NewReader("some input")
var out bytes.Buffer
cmd.Stdout = &out
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
fmt.Printf("in all caps: %q\n", out.String())
}
一旦你有
Command
, 调用Run
执行它并等待它完成,这听起来像你需要的。
关于go - 如何在 Go 中执行一个程序并返回父进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61164513/