diff --git a/ceres/manages/plugin_manage.py b/ceres/manages/plugin_manage.py index fb06220e44956e138c2c0fe257d1db79bf9564ff..f5473f2b94ef199e6be1bf2ee8f52ef4aadc0804 100644 --- a/ceres/manages/plugin_manage.py +++ b/ceres/manages/plugin_manage.py @@ -100,9 +100,9 @@ class Plugin: str: dead or running """ - code, stdout, _ = execute_shell_command([f"systemctl status {self.rpm_name}", "grep Active"]) + code, stdout, _ = execute_shell_command([f"systemctl show --property ActiveState --property SubState --value {self.rpm_name}"]) if code == CommandExitCode.SUCCEED: - return re.search(r':.+\(', stdout).group()[1:-1].strip() + return stdout LOGGER.error(f'Failed to get service {self.rpm_name} status!') return ""