niujiuru 3 тижнів тому
батько
коміт
3854fe49d2

+ 1 - 1
config/yfkj-sshd-mqtt-bridge.service

@@ -1,7 +1,7 @@
 [Unit]
 Description=Yunfei SSH To MQTT Bridge
 After=yfkj-networkd.service
-Requires=yfkj-networkd.service
+Wants=yfkj-networkd.service
 
 [Service]
 Environment="PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"

+ 1 - 1
config/yfkj-timesyncd.service

@@ -1,7 +1,7 @@
 [Unit]
 Description=Yunfei System Time Synchronization
 After=yfkj-networkd.service
-Requires=yfkj-networkd.service
+Wants=yfkj-networkd.service
 
 [Service]
 Environment="PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"

+ 1 - 1
config/yfkj-web-ui.service

@@ -1,7 +1,7 @@
 [Unit]
 Description=Yunfei Device Web Management UI
 After=yfkj-networkd.service
-Requires=yfkj-networkd.service
+Wants=yfkj-networkd.service
 
 [Service]
 Environment="PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"

+ 5 - 1
web-ui.service/page1_handler.go

@@ -328,13 +328,17 @@ func serviceStatusHandler(w http.ResponseWriter, r *http.Request) {
 		status := noValue
 
 		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)
 			switch {
 			case strings.Contains(v, "ActiveState=active") && strings.Contains(v, "SubState=running"):
 				status = "🟢运行中"
 			case strings.Contains(v, "ActiveState=active") && strings.Contains(v, "SubState=exited"):
 				status = "🔵已完成"
+			case strings.Contains(v, "LoadState=loaded") && strings.Contains(v, "ActiveState=inactive"):
+				status = "🟡已停止"
 			}
 		}