美文网首页
GO语言中的基本库(1)

GO语言中的基本库(1)

作者: speakspeak | 来源:发表于2019-06-04 09:53 被阅读0次

    相关网站

    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命令相关的资源



    相关文章

      网友评论

          本文标题:GO语言中的基本库(1)

          本文链接:https://www.haomeiwen.com/subject/ujtozqtx.html