diff --git a/agent/agent.config.example.json b/agent/agent.config.example.json index 68a915e..12c8c2d 100644 --- a/agent/agent.config.example.json +++ b/agent/agent.config.example.json @@ -14,6 +14,7 @@ "max_upload_mb": 200, "config_path": "/opt/safesight-edge-server/etc/media-server.json", + "systemctl_service": "safesight-edge-server", "media_server_process": { "enable": true, "exec_path": "/opt/safesight-edge-server/bin/systemctl-wrapper.sh", diff --git a/agent/internal/config/config.go b/agent/internal/config/config.go index cbf014e..5c25ef2 100644 --- a/agent/internal/config/config.go +++ b/agent/internal/config/config.go @@ -30,6 +30,7 @@ type AgentConfig struct { MediaServerBaseURL string `json:"media_server_base_url"` MediaServerTimeout int `json:"media_server_timeout_ms"` MediaServerRetry RetryConfig `json:"media_server_retry"` + SystemctlService string `json:"systemctl_service"` } type MediaServerProcessConfig struct { @@ -65,6 +66,7 @@ func Default() Config { }, MediaServerBaseURL: "http://127.0.0.1:9000", MediaServerTimeout: 3000, + SystemctlService: "safesight-edge-server", MediaServerRetry: RetryConfig{ MaxAttempts: 3, BackoffMS: []int{200, 500}, diff --git a/agent/internal/httpapi/server.go b/agent/internal/httpapi/server.go index 9cdc9ee..067ff74 100644 --- a/agent/internal/httpapi/server.go +++ b/agent/internal/httpapi/server.go @@ -88,7 +88,7 @@ func New(agentCfg config.AgentConfig, baseDir string, ms *mediaserver.Client, st pc = procctl.New(agentCfg, baseDir) } else { // 使用 systemctl 模式管理 Media Server - pc = procctl.NewSystemCtlController("safesight-edge-server", strings.TrimSpace(agentCfg.ConfigPath)) + pc = procctl.NewSystemCtlController(agentCfg.SystemctlService, agentCfg.ConfigPath) } execPath, _ := os.Executable() if execPath != "" {