Golang怎么执行cmd命令行


当前第2页 返回上一页

Start执行不会等待命令完成,Run会阻塞等待命令完成。

1

2

3

4

5

6

7

cmd := exec.Command("sleep", "10")

err := cmd.Run()  //执行到此处时会阻塞等待10秒

err := cmd.Start()   //如果用start则直接向后运行

if err != nil {

    log.Fatal(err)

}

err = cmd.Wait()   //执行Start会在此处等待10秒

4. 如果命令名称和参数写成一个字符串传给Command方法,可能会执行失败报错:file does not exist,但此时如果按以下方式强行启动一个DOS窗口(Windows平台)进行执行,也是成功的。

在Windows平台,强行弹出DOS窗口执行命令行:

1

2

3

4

cmdLine := pscp -pw pwd local_filename user@host:/home/workspace  

cmd := exec.Command("cmd.exe", "/c", "start " + cmdLine)

err := cmd.Run()

fmt.Printf("%s, error:%v \n", cmdLine, err)

5. 运行时隐藏golang程序自己的cmd窗口:

1

go build -ldflags -H=windowsgui

6. Windows平台上,执行系统命令隐藏cmd窗口:

1

2

3

4

5

cmd := exec.Command("sth")

 if runtime.GOOS == "windows" {

     cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}

 }

 err := cmd.Run()

以上就是Golang怎么执行cmd命令行的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

聊聊dubbo-go-proxy的replacepathfilter

golang依赖注入工具wire指南

golang websocket失败怎么办

手撸golang 创建型设计模式 原型模式

golang-cache是全局吗

手撸golang go与微服务 chatserver之2

手撸golang 结构型设计模式 组合模式

go语言基础之基本数据类型

golang-2(变量)

go module访问私有git仓库

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...