首页 > 系统相关 >0149-Go-生成进程

0149-Go-生成进程

时间:2023-01-30 19:24:09浏览次数:55  
标签:Println err exec fmt 生成 Go 0149 grepCmd

环境

  • Time 2022-08-25
  • Go 1.19

前言

说明

参考:https://gobyexample.com/spawning-processes

目标

使用 Go 语言生成进程。

示例

package main

import (
    "fmt"
    "io"
    "os/exec"
)

func main() {

    dateCmd := exec.Command("date")

    dateOut, err := dateCmd.Output()
    if err != nil {
        panic(err)
    }
    fmt.Println("> date")
    fmt.Println(string(dateOut))

    grepCmd := exec.Command("grep", "hello")

    grepIn, _ := grepCmd.StdinPipe()
    grepOut, _ := grepCmd.StdoutPipe()
    grepCmd.Start()
    grepIn.Write([]byte("hello grep\ngoodbye grep"))
    grepIn.Close()
    grepBytes, _ := io.ReadAll(grepOut)
    grepCmd.Wait()

    fmt.Println("> grep hello")
    fmt.Println(string(grepBytes))

    lsCmd := exec.Command("bash", "-c", "ls -a -l -h")
    lsOut, err := lsCmd.Output()
    if err != nil {
        panic(err)
    }
    fmt.Println("> ls -a -l -h")
    fmt.Println(string(lsOut))
}

总结

使用 Go 语言生成进程。

附录

标签:Println,err,exec,fmt,生成,Go,0149,grepCmd
From: https://www.cnblogs.com/jiangbo4444/p/17077048.html

相关文章

  • 0150-Go-执行进程
    环境Time2022-08-25Go1.19前言说明参考:https://gobyexample.com/execing-processes目标使用Go语言执行进程。示例packagemainimport("os""os......
  • 0151-Go-信号
    环境Time2022-08-25Go1.19前言说明参考:https://gobyexample.com/signals目标使用Go语言的信号。示例packagemainimport( "fmt" "os" "os/signal" "......
  • 0152-Go-退出
    环境Time2022-08-25Go1.19前言说明参考:https://gobyexample.com/exit目标退出Go程序。示例packagemainimport("fmt""os")funcmain(){......
  • 0138-Go-文件目录
    环境Time2022-08-25Go1.19前言说明参考:https://gobyexample.com/directories目标使用Go语言处理文件目录。示例packagemainimport("fmt""os"......
  • 0139-Go-临时文件
    环境Time2022-08-25Go1.19前言说明参考:https://gobyexample.com/temporary-files-and-directories目标使用Go语言处理临时文件。示例packagemainimport......
  • 0140-Go-内嵌命令
    环境Time2022-08-25Go1.19前言说明参考:https://gobyexample.com/embed-directive目标使用Go语言的内嵌命令。示例packagemainimport("embed")/......
  • 0141-Go-单元测试
    环境Time2022-08-25Go1.19前言说明参考:https://gobyexample.com/testing-and-benchmarking目标使用Go语言进行测试。示例packagemainimport("fmt"......
  • 0142-Go-命令行参数
    环境Time2022-08-25Go1.19前言说明参考:https://gobyexample.com/command-line-arguments目标使用Go语言的命令行参数。示例packagemainimport("fm......
  • 0143-Go-命令行标记
    环境Time2022-08-25Go1.19前言说明参考:https://gobyexample.com/command-line-flags目标使用Go语言的命令行标记。示例packagemainimport("flag"......
  • 0144-Go-命令行子命令
    环境Time2022-08-25Go1.19前言说明参考:https://gobyexample.com/command-line-subcommands目标使用Go语言的命令行子命令。示例packagemainimport(......