Golang 当我尝试执行命令时没有输出

2024年 2月 12日 130.0k 0

golang 当我尝试执行命令时没有输出

问题内容

我尝试执行一些命令(在 config.json 内)
只有 npm 命令有显示输出

这是我第一次使用 stackoverflow
如果做得不好请多多包涵

预期结果:
当我在 config.json 中写入任何命令时
将输出正确的结果

main.go

func main () {
file, _ := os.open("config.json")
byteres, _ := ioutil.readall(file)
var config config
json.unmarshal(byteres, &config)
defer file.close()

process := exec.command(config.startcommand)
stdout, _ := process.stdoutpipe()
processscanner := bufio.newscanner(stdout)
processscanner.split(bufio.scanlines)

process.start()
go func() {
for processscanner.scan() {
message := processscanner.text()
fmt.println(message)
}
}()
}

登录后复制

配置.json

{
"StartCommand": "npm"
}

登录后复制

解决方法

你的 main 函数不会等待你的 goroutine 完成。使用 sync.WaitGroup 阻止 main 直到 goroutine 完成。

以上就是Golang 当我尝试执行命令时没有输出的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论