登录
首页 >  Golang >  Go问答

Go中如何执行程序并返回父进程?

来源:stackoverflow

时间:2024-04-02 14:18:25 293浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《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 就会执行它并等待它完成,这听起来就像您所需要的。

以上就是《Go中如何执行程序并返回父进程?》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>