使用exec.CommandContext来处理外部命令的超时

func main() {timeout := 5ctx, cancel := context.WithTimeout(context.Background(), time.Duration(timeout+5)*time.Second)defer cancel()cmdarray := []string{"-c", fmt.Sprintf("%s %s", "sleep", "10")}cmd := exec.CommandContext(ctx, "bash", cmdarray...)out, err := cmd.CombinedOutput()//if ctx.Err() == context.DeadlineExceeded {}fmt.Printf("ctx.Err : [%v]\n", ctx.Err())fmt.Printf("error   : [%v]\n", err)fmt.Printf("out     : [%s]\n", string(out))
}

运行结果是:

ctx.Err : [context deadline exceeded]
error   : [signal: killed]
out     : []

如果是一个命令错误输出是什么:
下面这个例子是使用sleep不带参数,显示是错误的。
cmdarray := []string{"-c", fmt.Sprintf("%s %s", "sleep", "")}

ctx.Err : [<nil>]
error   : [exit status 1]
out     : [usage: sleep seconds
]

可以命令的执行错误不会导致ctx.Err()错误。

golang 执行外部命令 超时处理 exec.CommandContext相关推荐

  1. Go 学习笔记(43)— Go 标准库之 os/exec(执行外部命令、非阻塞等待、阻塞等待、命令输出)

    1. 概述 golang 下的 os/exec 包执行外部命令包执行外部命令.它包装了 os.StartProcess 函数以便更容易的修正输入和输出,使用管道连接I/O,以及作其它的一些调整. 与 ...

  2. php 运行外部程序_PHP在linux上执行外部命令的方法

    目录: 一.PHP中调用外部命令介绍 二.关于安全问题 三.关于超时问题 四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍 在PHP中调用外部命令,可以用,1>调用 ...

  3. php在linux中执行外部命令

    目录: 一.PHP中调用外部命令介绍 二.关于安全问题 三.关于超时问题 四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍 在PHP中调用外部命令,可以用,1>调用 ...

  4. Linux培训教程 浅谈:PHP在linux上执行外部命令(整理)

    一.PHP中调用外部命令介绍 二.关于安全问题 三.关于超时问题 四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍 在PHP中调用外部命令,可以用,1>调用专门函数 ...

  5. golang执行linux命令

    golang执行linux命令代码,用过好用 func Shellout(command string) (error, string, string) {var stdout bytes.Buffe ...

  6. java 执行外部命令 苹果_Java中执行外部命令

    在项目中执行一个linux的shell脚本,于是需要在java环境下执行外部命令如系统命令.linux命令的需求,本人小小研究了一下,又上网查了一些资料先整理如下. java执行外部命令主要依赖两个类 ...

  7. Java执行外部命令,并把结果回显到控制台

    JAVA现在执行外部命令,主要的方式,还是通过调用所以平台的SHELL去完成,WINDOWS下面就用CMD,LINUX或者是UNIX下面就用SHELL,下面演示一个对BAT文件的调用,并把结果回显到控 ...

  8. sed当中使用变量替换以及执行外部命令

    转自:http://blog.csdn.net/linwhwylb/article/details/7184748 在使用sed对日志或者其它文本进行parse的过程当中,有时候我们需要引用外部变量的 ...

  9. Objective-C 执行外部命令

    执行外部命令 转载于:https://www.cnblogs.com/yangwenhuan/p/10090631.html

最新文章

  1. Struts2--标签tag
  2. Python-EEG工具库MNE中文教程(2)-MNE中数据结构Epoch及其创建方法
  3. 漫谈中国自主杀毒引擎
  4. 03、Swagger2和Springmvc整合详细记录(爬坑记录)
  5. springboot 使用i18n进行国际化
  6. 一次高烧期间的感悟……
  7. devops 文化_需要建立DevOps文化
  8. ICPC-图论知识与算法要览
  9. html swf修改参数,HTML网页中如何向swf传递参数
  10. 根据城市的名称获取省份的名称
  11. 机器学习-GB、GBDT、XGboost、Adaboost
  12. labelimg标注yolo格式Bug
  13. 实现多线程的方法到底有1种还是2种还是4种?
  14. struts2 超链接a标签执行action
  15. 加密狗是什么?一次性给您说全加密狗的概念
  16. go语言与区块链开发
  17. nanotime java_Java System nanoTime()方法
  18. 五点三次平滑的程序源代码
  19. 如何自学大数据开发?
  20. (1)课程简介-CS231A:Computer Vision, From 3D Reconstruction to Recognition

热门文章

  1. 百度娱乐沸点颁奖典礼,温度太低的“沸点”
  2. mysql装一次后再装_MySQL再安装
  3. FD.io/VPP — NAT
  4. OpenvSwitch — 操作实践
  5. 全虚拟化与半虚拟化的实现方式
  6. Linux内核移植之二:Kconfig分析
  7. TypeScript 使用 字典 Dictionary
  8. Fastdfs-企业级分布式存储应用
  9. C++中的虚继承 重载隐藏覆盖的讨论
  10. 为什么okhttpclient不能builder