diff --git a/sysSentry-1.0.2/src/python/syssentry/cron_process.py b/sysSentry-1.0.2/src/python/syssentry/cron_process.py index f161f1ffff02f2fd17c6a97d3d9b007dc5771c43..bdbe41e1d7f6c8affdd92dbd06f3cabae06db5c7 100644 --- a/sysSentry-1.0.2/src/python/syssentry/cron_process.py +++ b/sysSentry-1.0.2/src/python/syssentry/cron_process.py @@ -79,7 +79,7 @@ class PeriodTask(InspectTask): logfile = subprocess.PIPE try: child = subprocess.Popen(cmd_list, stdout=logfile, - stderr=subprocess.STDOUT, close_fds=True) + stderr=subprocess.STDOUT, close_fds=True, env=self.environ_conf) except OSError: self.result_info["result"] = ResultLevel.FAIL.name self.result_info["error_msg"] = RESULT_LEVEL_ERR_MSG_DICT.get(ResultLevel.FAIL.name) diff --git a/sysSentry-1.0.2/src/python/syssentry/global_values.py b/sysSentry-1.0.2/src/python/syssentry/global_values.py index b123b2dcb7bcf8f94a30b43339f8f21dae5a038f..ca3b29c825050eee21a0e4ffa7be68f62a9df7b9 100644 --- a/sysSentry-1.0.2/src/python/syssentry/global_values.py +++ b/sysSentry-1.0.2/src/python/syssentry/global_values.py @@ -75,6 +75,8 @@ class InspectTask: self.onstart = False # ccnfig env_file self.env_file = "" + # env conf to popen arg + self.environ_conf = {} # start mode self.conflict = "up" # alarm id @@ -112,7 +114,7 @@ class InspectTask: logging.error("task %s log_file %s open failed", self.name, self.log_file) logfile = subprocess.PIPE try: - child = subprocess.Popen(cmd_list, stdout=logfile, stderr=subprocess.STDOUT, close_fds=True) + child = subprocess.Popen(cmd_list, stdout=logfile, stderr=subprocess.STDOUT, close_fds=True, env=self.environ_conf) except OSError: logging.error("task %s start Popen error, invalid cmd") self.result_info["result"] = ResultLevel.FAIL.name @@ -199,7 +201,7 @@ class InspectTask: return # read config - environ_conf = {} + self.environ_conf = dict(os.environ) with open(self.env_file, 'r') as file: for line in file: line = line.strip() @@ -210,11 +212,7 @@ class InspectTask: if not key or not value: logging.error("env_file = %s format is error, use default environ", self.env_file) return - environ_conf[key] = value - - # set environ - for key, value in environ_conf.items(): - logging.debug("environ key=%s, value=%s", key, value) - os.environ[key] = value + self.environ_conf[key] = value + logging.debug("environ key=%s, value=%s", key, value) logging.debug("the subprocess=[%s] begin to run", self.name)