GO语言中的基本库(1)

speakspeak · · 791 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

相关网站

https://golang.org/pkg

1.os.exec库

①exec中的一个结构体Cmd

type Cmd struct     {

Path        string   //运行命令的路径,绝对路径或者相对路径

Args        []string   // 命令参数

Env          []string       //进程环境,如果环境为空,则使用当前进程的环境

Dir          string   //指定command的工作目录,如果dir为空,则comman在调用进程所在当前目录中运行

Stdin        io.Reader    //标准输入,先只要记住吧,有什么用再说。

Stdout      io.Writer      //标准输出,先只要记住吧,有什么用再说。

Stderr      io.Writer  //错误输出,先只要记住吧,有什么用再说。

ExtraFiles  []*os.File

SysProcAttr  *syscall.SysProcAttr

Process      *os.Process    //Process是底层进程,只启动一次

ProcessState *os.ProcessState

//ProcessState包含一个退出进程的信息,当进程调用Wait或者Run时便会产生该信息.

}

②exec.Command()

模型:func Command(name string, arg ...string) *Cmd

//command返回cmd结构来执行带有相关参数的命令,它仅仅设定cmd结构中的Path和Args参数

注意,他仅仅设定了Cmd结构中的Path与Args

③exec.Lookpath()

模型:func LookPath(filestring) (string,error)

LookPath searches for an executable named file in the directories named by the PATH environment variable. If file contains a slash (/) , it is tried directly and the PATH is not consulted. The result may be an absolute path or a path relative to the current directory.

④Cmd.Run 和 Cmd.Start 和 Cmd.Wait

func (c *Cmd) Run() error          //开始指定命令并且等待他执行结束,如果命令能够成功执行完毕,则返回nil,否则的话边会产生错误

func (c *Cmd) Start() error          //使某个命令开始执行,但是并不等到他执行结束,这点和Run命令有区别.然后使用Wait方法等待命令执

func (c *Cmd) Wait() error             //Wait等待command退出,他必须和Start一起使用,如果命令能够顺利执行完并顺利退出则返回nil,否则的话便会返回error,其中Wait会是放掉所有与cmd命令相关的资源




有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:speakspeak

查看原文:GO语言中的基本库(1)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

791 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传