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 这还不是管理员身份么?