GO语言中的基本库(1)

2019-06-04  本文已影响0人  speakspeak

相关网站

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



上一篇下一篇

猜你喜欢

热点阅读