linux go命令,Go语言执行linux命令行

package main

import (

"fmt"

"io/ioutil"

"os/exec"

"time"

)

func run() {

cmd := exec.Command("/bin/sh", "-c", "ping 127.0.0.1")

_, err := cmd.Output()

if err != nil {

panic(err.Error())

}

if err := cmd.Start(); err != nil {

panic(err.Error())

}

if err := cmd.Wait(); err != nil {

panic(err.Error())

}

}

func main() {

go run()

time.Sleep(1e9)

cmd := exec.Command("/bin/sh", "-c", `ps -ef | grep -v "grep" | grep "ping"`)

stdout, err := cmd.StdoutPipe()

if err != nil {

fmt.Println("StdoutPipe: " + err.Error())

return

}

stderr, err := cmd.StderrPipe()

if err != nil {

fmt.Println("StderrPipe: ", err.Error())

return

}

if err := cmd.Start(); err != nil {

fmt.Println("Start: ", err.Error())

return

}

bytesErr, err := ioutil.ReadAll(stderr)

if err != nil {

fmt.Println("ReadAll stderr: ", err.Error())

return

}

if len(bytesErr) != 0 {

fmt.Printf("stderr is not nil: %s", bytesErr)

return

}

bytes, err := ioutil.ReadAll(stdout)

if err != nil {

fmt.Println("ReadAll stdout: ", err.Error())

return

}

if err := cmd.Wait(); err != nil {

fmt.Println("Wait: ", err.Error())

return

}

fmt.Printf("stdout: %s", bytes)

}

// 运行命令: go run main.go

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值