|
@@ -328,13 +328,17 @@ func serviceStatusHandler(w http.ResponseWriter, r *http.Request) {
|
|
|
status := noValue
|
|
status := noValue
|
|
|
|
|
|
|
|
if out, err := exec.Command("systemctl", "show", s.name,
|
|
if out, err := exec.Command("systemctl", "show", s.name,
|
|
|
- "-p", "ActiveState", "-p", "SubState").Output(); err == nil {
|
|
|
|
|
|
|
+ "-p", "LoadState",
|
|
|
|
|
+ "-p", "ActiveState",
|
|
|
|
|
+ "-p", "SubState").Output(); err == nil {
|
|
|
v := string(out)
|
|
v := string(out)
|
|
|
switch {
|
|
switch {
|
|
|
case strings.Contains(v, "ActiveState=active") && strings.Contains(v, "SubState=running"):
|
|
case strings.Contains(v, "ActiveState=active") && strings.Contains(v, "SubState=running"):
|
|
|
status = "🟢运行中"
|
|
status = "🟢运行中"
|
|
|
case strings.Contains(v, "ActiveState=active") && strings.Contains(v, "SubState=exited"):
|
|
case strings.Contains(v, "ActiveState=active") && strings.Contains(v, "SubState=exited"):
|
|
|
status = "🔵已完成"
|
|
status = "🔵已完成"
|
|
|
|
|
+ case strings.Contains(v, "LoadState=loaded") && strings.Contains(v, "ActiveState=inactive"):
|
|
|
|
|
+ status = "🟡已停止"
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|