【发布时间】:2017-01-23 23:14:19
【问题描述】:
我正在尝试定期在后台运行一些功能,因为我也在提供网络服务。
import ("strings")
func run (cmd string, c chan []byte) {
parts := strings.Fields(cmd)
head := parts[0]
parts = parts[1:len(parts)]
out, err := exec.Command(head, parts...).Output()
if err !=nil {
log.Fatal(err)
}
c <-out
}
func main() {
c:=make(chan []byte)
go run ("date",c)
output :=string(<-c)
}
我想每隔几秒在后台运行诸如“date”、“uptime”、“ps”之类的命令 Web 服务 (net/http) 将在前台运行并输出这些函数的结果。
实现这一目标的最佳方法是什么?
【问题讨论】:
-
要同时运行一些东西,你可以在一个单独的 goroutine 中启动它们——你到底在问什么?
-
我可以在单独的 go 例程中启动它们。如何运行几个不同的并为在同一进程中运行的 web 服务收集它们的结果?我要求最佳做法
标签: go