From 009428bbf8f38bf9754999ec77403c4b181cf8ed Mon Sep 17 00:00:00 2001 From: weiyaping Date: Fri, 15 Dec 2023 03:37:02 -0500 Subject: [PATCH] fix bug:ProcSched.report: list index out of range --- atune_collector/plugin/monitor/process/sched.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/atune_collector/plugin/monitor/process/sched.py b/atune_collector/plugin/monitor/process/sched.py index 5289d84..f184957 100644 --- a/atune_collector/plugin/monitor/process/sched.py +++ b/atune_collector/plugin/monitor/process/sched.py @@ -36,10 +36,12 @@ class ProcSched(Monitor): self.__interval = 1 self.__applications = [] self.__pids = [] + self.__proc_flag = [] def _get(self, para=None): output = "" pids = [] + proc_flag = [] if para is not None: opts, _ = getopt.getopt(para.split(), None, ['interval=', 'app=']) for opt, val in opts: @@ -67,9 +69,13 @@ class ProcSched(Monitor): for app in self.__applications: pid = subprocess.getoutput( - "ps -A | grep {} | awk '{{print $1}}'".format(app)).split()[0] - pids.append(pid) + "ps -A | grep {} | awk '{{print $1}}'".format(app)).split() + app_pid_flag = True if pid else False + proc_flag.append(app_pid_flag) + if pid: + pids.append(pid[0]) self.__pids = pids + self.__proc_flag = proc_flag for pid in self.__pids: out = subprocess.check_output( -- 1.8.3.1