003-golang 调用外部命令

003-golang 调用外部命令

相关函数

exec包执行外部命令,它将os.StartProcess进行包装使得它更容易映射到stdin和stdout,并且利用pipe连接i/o.

func LookPath(file string) (string, error) //LookPath在环境变量中查找科执行二进制文件,如果file中包含一个斜杠,则直接根据绝对路径或者相对本目录的相对路径去查找

    f, err := exec.Command("java", "-jar" ,"./bin/apktool_2.2.1.jar" ,"d", "-o",out ,in).Output()
    if err != nil {
        fmt.Println(err.Error())
    }
    fmt.Println(string(f))

在用exec包调用的其他进程后如何关闭结束,可以使用context包的机制进行管理,context包的使用详见:https://godoc.org/context

exec.CommandContext方发实现了context,通过context可以对exec启动的进程结束。

隐藏程序自身黑窗口的方法:go build -ldflags=”-H windows”

隐藏子进程黑窗口的方法:

参考链接

  1. golang os/exec 执行外部命令
    1. GO语言运行cmd命令逐行实时输出执行过程
  2. golang exec 执行系统命令
    原文作者:夏大王2019
    原文地址: https://www.jianshu.com/p/ad4c87671ae0
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞