<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] ## 語法 ``` type Cmd struct { // 該字段不能為空,如為相對路徑會相對于Dir字段。 Path string // Args保管命令的參數,包括命令名作為第一個參數;如果為空切片或者nil,相當于無參數命令。 // // 典型用法下,Path和Args都應被Command函數設定。 Args []string // Env指定進程的環境,如為nil,則是在當前進程的環境下執行。 Env []string // Dir指定命令的工作目錄。如為空字符串,會在調用者的進程當前目錄下執行。 Dir string Stdin io.Reader Stdout io.Writer Stderr io.Writer // ExtraFiles指定額外被新進程繼承的已打開文件流,不包括標準輸入、標準輸出、標準錯誤輸出。 // 如果本字段非nil,entry i會變成文件描述符3+i。 // // BUG: 在OS X 10.6系統中,子進程可能會繼承不期望的文件描述符。 // http://golang.org/issue/2603 ExtraFiles []*os.File // SysProcAttr保管可選的、各操作系統特定的sys執行屬性。 // Run方法會將它作為os.ProcAttr的Sys字段傳遞給os.StartProcess函數。 SysProcAttr *syscall.SysProcAttr // Process是底層的,只執行一次的進程。 Process *os.Process // ProcessState包含一個已經存在的進程的信息,只有在調用Wait或Run后才可用。 ProcessState *os.ProcessState } func (c *Cmd) StdinPipe() (io.WriteCloser, error) func (c *Cmd) StdoutPipe() (io.ReadCloser, error) func (c *Cmd) StderrPipe() (io.ReadCloser, error) func (c *Cmd) Run() error // 阻塞直到完成 func (c *Cmd) Start() error // 不會等待該命令完成即返回 func (c *Cmd) Wait() error func (c *Cmd) Output() ([]byte, error) func (c *Cmd) CombinedOutput() ([]byte, error) ``` ## 實例 ### LookPath 查看命令是否存在 ``` path, err := exec.LookPath("ls") if err != nil { fmt.Printf("didn't find 'ls' executable\n") } else { fmt.Printf("'ls' executable is in '%s'\n", path) } ``` ### Stdin / Stdout 指定輸入輸出 實例1:通過 Stdin和Stdout 指定輸入,輸出 ``` var out bytes.Buffer // tr命令 小寫轉大寫 cmd := exec.Command("tr", "a-z", "A-Z") cmd.Stdin = strings.NewReader("some input") cmd.Stdout = &out err := cmd.Run() if err != nil { log.Fatal(err) } fmt.Printf("in all caps: %q\n", out.String()) // in all caps: "SOME INPUT" ``` ### 設置環境變量 ``` cmd := exec.Command("prog") cmd.Env = append(os.Environ(), "FOO=duplicate_value", // ignored "FOO=actual_value", // this value is used ) if err := cmd.Run(); err != nil { log.Fatal(err) } ``` ### Output 直接輸出 ``` out, err := exec.Command("date").Output() if err != nil { log.Fatal(err) } fmt.Printf("The date is %s\n", out) ``` ### Start 需要 Wait ``` cmd := exec.Command("sleep", "5") err := cmd.Start() if err != nil { log.Fatal(err) } log.Printf("Waiting for command to finish...") err = cmd.Wait() log.Printf("Command finished with error: %v", err) ``` ### CommandContext ``` ctx, cancel := context.WithTimeout(context.Background(), 100*time.Millisecond) defer cancel() if err := exec.CommandContext(ctx, "sleep", "5").Run(); err != nil { // This will fail after 100 milliseconds. The 5 second sleep // will be interrupted. } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看