package main;

import (
"os/exec"
"fmt"
"io/ioutil"
"bytes"
) func main() {
//在环境变量path中查找可执行二进制文件
//返回完整路径或者相对于当前目录的一个相对路径
file, _ := exec.LookPath("go");
fmt.Println(file); //返回一个cmd
cmd := exec.Command("go", "version");
//执行命令,并返回标准输出和错误输出
out, _ := cmd.CombinedOutput();
fmt.Println(string(out)); //创建一个cmd
cmd2 := exec.Command("ping", "www.baidu.com");
buf := bytes.Buffer{};
//将cmd2的标准输出设置为buf
cmd2.Stdout = &buf;
//运行命令,阻塞直到完成
cmd2.Run();
fmt.Println(buf.String()); //创建一个cmd
cmd3 := exec.Command("ping", "www.baidu.com");
//获取命令在start后标准输出管道
out3, _ := cmd3.StdoutPipe();
//执行命令
cmd3.Start();
//读取管道中所有数据
data3, _ := ioutil.ReadAll(out3);
//等待命令执行完成
cmd3.Wait();
fmt.Println(string(data3));
}

  

golang语言中os/exec包的学习与使用的更多相关文章

  1. golang语言中os/signal包的学习与使用

    package main; import ( "os" "os/signal" "fmt" ) //signal包中提供了两个函数 //No ...

  2. golang语言中os/user包的学习与使用

    package main; import ( "os/user" "fmt" ) func main() { //返回当前用户的结构 u, _ := user. ...

  3. go语言中os/signal包的学习与使用

    package main; import ( "os" "os/signal" "fmt" ) //signal包中提供了两个函数 //No ...

  4. golang语言中sync/atomic包的学习与使用

    package main; import ( "sync/atomic" "fmt" "sync" ) //atomic包提供了底层的原子级 ...

  5. golang语言中os包的学习与使用(文件,目录,进程的操作)

    os中一些常用函数的使用: package main; import ( "os" "fmt" "time" "strings&q ...

  6. [golang][译]使用os/exec执行命令

    [golang][译]使用os/exec执行命令 https://colobu.com/2017/06/19/advanced-command-execution-in-Go-with-os-exec ...

  7. php 中函数获取可变参数的方法, 这个语法有点像 golang 语言中的

    原文呢:http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration.strict Onl ...

  8. golang中os/exec包用法

    exec包执行外部命令,它将os.StartProcess进行包装使得它更容易映射到stdin和stdout,并且利用pipe连接i/o. 1.func LookPath(file string) ( ...

  9. golang语言中bytes包的常用函数,Reader和Buffer的使用

    bytes中常用函数的使用: package main; import ( "bytes" "fmt" "unicode" ) //byte ...

随机推荐

  1. k8s的内置DNS增加父系DNS方法

    我们都知道K8S有内置DNS,是在搭建K8S时候以容器方式起来的,那么有时候我们需要解析内部DNS地址该怎么办呢,我们可以搭建个内部DNS 但是怎么让K8S通过内部DNS解析呢? 可以尝试如下方法 在 ...

  2. python在DWR框架下的post

    使用requests.post,但一直要在headers中设置相应的Content-Type和Referer # coding=utf-8 import urllib2 import requests ...

  3. Hibernate 再接触 CRUD

    1.save 一对多双向 package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import jav ...

  4. AndroidScreenSlide项目切换view动画效果《IT蓝豹》

    AndroidScreenSlide项目切换view动画效果 AndroidScreenSlide项目中有几个不错的效果,一:Card Flip翻页立体效果,二:Screen Slide 左右切换vi ...

  5. Pandas数据存取

    pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA']) Pandas数据存取 Pandas可以存取多种介质类型数据, ...

  6. js基础-数组及数据类型

    数组也是引用类型 构造函数创建数组 Object 构造函数类型(所有类型基类)   Array 构造函数类型 求幂运算符 **   2**32-1 数组容量最大 arry.length 如果减小len ...

  7. vue 解决页面闪烁问题

    watch: { //监听表格数据的变化[使用 watch+nextTick 可以完成页面数据监听的 不会出现闪烁] tableData: { //深度监听,可监听到对象.数组的变化 handler( ...

  8. spring学习第一课:spring的jar包下载

    感谢作者: http://yanln.iteye.com/blog/2191312 ---------------------------------------------------------- ...

  9. js keycode

    参考 https://www.cnblogs.com/daysme/p/6272570.html

  10. overflow属性的用法

    <style type="text/css">div{ background-color:#00FFFF; width:150px; height:150px; ove ...