+ 收藏我们

网站模板

网站模板搜索
404模板 营销型模板 外贸网站模板 单页模板 双语模板 标签大全
电话:18630701785
首页 > 站长学院 > Go中如何执行程序并返回父进程? >

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

时间:2024-04-06 14:48:49

小伙伴们又来学习啦~今天我将给大家介绍《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 就会执行它并等待它完成,这听起来就像您所需要的。

有问题可以加入网站技术QQ群一起交流学习

本站会员学习、解决问题QQ群(691961965)

客服微信号:lpf010888

Title