jjzjj

golang exec 不正确的行为

我正在使用以下代码段获取在XENHypervisor上运行的虚拟机的XML定义。该代码正在尝试执行命令virshdumpxmlUbutnu14,这将提供名为Ubuntu14的VM的XMLvirshCmd:=exec.Command("virsh","dumpxml","Ubuntu14")varvirshCmdOutputbytes.Buffervarstderrbytes.BuffervirshCmd.Stdout=&virshCmdOutputvirshCmd.Stderr=&stderrerr:=virshCmd.Run()iferr!=nil{fmt.Println(err)f

go - 从 golang 的 exec.Command 调用 ghostscrip 时出错

这是我的代码,extraCmds:=[]string{"-q","-dBATCH","-dNOPAUSE","-dSAFER","-sDEVICE=pcxmono",fmt.Sprintf("-r%v",dpi),//-r600“-sOutputFile=BBB%03d.pcx”,“WO-BC-CARE.pdf”,}s,_:=exec.Command("gs",extraCmds...).输出()结果:=字符串log.Println(结果)显示错误,2017/03/2109:24:48错误:/undefinedfilenamein--findlibfile--操作数栈:()执行栈:%i

go - Go中如何获取Riak KV集群和节点状态数据

我正在尝试通过Go程序监控Riak-KV。Riak有一个名为“riak-go-client”的go客户端,但它没有任何api来获取Riak性能/状态数据。有什么办法可以得到吗? 最佳答案 获得Riak性能/状态/指标的最佳方式可能是通过其statsHTTPAPI.它适用于任何语言,甚至可以使用curl。只要您知道如何通过HTTP连接和解析JSON,就应该能够使用它。使用API就像运行一样简单:curl-vhttp://127.0.0.1:8098/stats-H"Accept:application/json"它为您提供了很多有用的

linux - 将数据文件包装到 golang 应用程序并在 exec 中使用

我想将数据文件(~1MB)打包到golang应用程序,然后在os.exec中使用该数据。该应用程序在Linux上运行。如何在应用程序中定义数据,作为string或[]byte、变量或Const?应该在全局范围内定义,还是包装在func中?如何将应用程序内存中的数据传递给已执行进程? 最佳答案 要将数据文件构建到您的程序中,您有多种选择。你是正确的,因为你可以手动将数据文件复制/粘贴到程序中作为类型string,[]byte作为变量,但还有其他包/applicationsforgo已经为您处理了这个问题,它还可以最大限度地减少应用程序

windows - Golang exec .bat 或 .exe 文件但没有得到输出

我想用golang执行.exe文件并在网络套接字中发送输出值。它在linux中运行良好,当我运行bash文件但在Windows中无法使用.exe或.bat文件时(.bat文件运行带有一些参数的.exe文件)。该程序已执行,但我从未看到并收到脚本的输出。我的问题只是如何在Windows中获取脚本的输出。如果你能帮助我,我将不胜感激。谢谢:)cmd:=exec.Command("cmd","/C","file.exeorfile.bat","parameters")stdout,err:=cmd.StdoutPipe()iferr!=nil{panic(err)}stderr,err:=c

linux - 最小起订量 : running "moq": exec: "moq": executable file not found in $PATH

在尝试moq框架的示例时,当我输入“gogenerate”时出现以下异常:example.go:5:running"moq":exec:"moq":executablefilenotfoundin$PATH我该怎么办?我正在使用Kubuntu16.04PS:我试过了exportPATH=$PATH:/home/[...]/go/src/github.com/matryer/moq没有成功 最佳答案 @sprabhakaran得到了正确的答案。我只需要将go二进制文件夹添加到PATH全局变量:exportPATH=$PATH:/hom

go - 将 exec.CommandContext 与 sg_inq sys 命令和超时一起使用永远不会返回

我正在尝试在多路径设备(/dev/mapper/mpatha)上调用sg_inq。sg_inq向特定设备发送iScsi查询并提取一些数据。我正在使用go自己的exec.commandContext超时,如下所示:ctx,cancel:=context.WithTimeout(context.Background(),time.Duration(1000)*time.Millisecond)defercancel()cmd:=exec.CommandContext(ctx,"sg_inq","/dev/mapper/mpatha")err:=cmd.Run()cmd.Stdout=&st

go - DB.Exec args 总是导致我的占位符出错

我有一个SQL脚本,其中包含一个我想从Golang设置的变量。SET@foo_bar_invitation_id=?;SELECT@foo_bar_invitation_id;即我要设置?到“foobar”。我的代码:packagemainimport("io/ioutil""log""database/sql"_"github.com/go-sql-driver/mysql")typehandlerstruct{db*sql.DB}func(hhandler)runsql()(errerror){sqlscript,err:=ioutil.ReadFile("script.sql")

postgresql - 转换 Exec 参数 $2 类型 : invalid character ‘b’ looking for beginning of value

当我尝试用任何字母更新JSONB中的文件时出现错误,但如果我用数字更新相同的文件,它就完美了。sql:转换Exec参数$2类型:寻找值开头的无效字符“b”。插入类型示例:params["imei_json"]=types.JSONText(params["imei"].(string))//UpdateUserInformationfunc(metadata*accountPhoneNumberMetadata)UpdateUserInfo(paramsmap[string]interface{})error{params["imei_json"]=types.JSONText(par

go - 为什么 os/exec.StderrPipe 的编写器在 Start() 中关闭?

谁能帮我理解为什么pw(thewriter)计划于Start()结束?我希望pw与pr(thereader)一起关闭在Wait(). 最佳答案 closeAfterStart和closeAfterwait是io.Closers的两片分别称为insStart和Wait的cmd结构。现在,这是为什么?这两个基本上都是缓冲区(slice),需要写入读出。根据它们当前是否正在使用,它们将被关闭。例如StdInPipe需要先读取再写入,因此pr包含在closeAfterStart中和pw在closeAfterWait.对StdOutPipe执