centos7 检查目标 ip 是否在线的代码,直接运行是正常的,但是改成 service 运行, [Install] WantedBy=multi-user.target
正常运行时,目标 ip 不在线是打印 exit status 1
现在不管在线否都是直接打印出 exit status 2
func NetWorkStatus(host string) bool {
cmd := exec.Command("ping", host, "-c", "4", "-w", "5")
fmt.Println("NetWorkStatus Start:", time.Now().Unix())
err := cmd.Run()
fmt.Println("NetWorkStatus End :", time.Now().Unix())
if err != nil {
fmt.Println(err.Error())
return false
} else {
fmt.Println("Net Status , OK")
}
return true
}
看到部分文章提示用到 ICMP ,这需要以管理员身份运行。
service multi-user.target 这还不是管理员身份么?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.