黑马模板网专注企业网站模板制作,包括企业pbootcms网站模板,静态网页模板,网站源码下载,HTML网站模板等等。
免责声明:本站所有资源(模板、图片)搜集整理于互联网或者网友提供,仅供学习与交流使用,如果不小心侵犯到你的权益,请及时联系我们删除该资源。
小伙伴们又来学习啦~今天我将给大家介绍《Go中如何执行程序并返回父进程?》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!
问题内容
假设我想从程序中执行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 就会执行它并等待它完成,这听起来就像您所需要的。