@name 获取项目运行状态 @author hwliang<2021-08-12> @param project_name 项目名称 @return bool
(self, project_name)
| 1123 | return [] |
| 1124 | |
| 1125 | def get_project_run_state(self, project_name): |
| 1126 | ''' |
| 1127 | @name 获取项目运行状态 |
| 1128 | @author hwliang<2021-08-12> |
| 1129 | @param project_name<string> 项目名称 |
| 1130 | @return bool |
| 1131 | ''' |
| 1132 | pid_file = "{}/{}.pid".format(self._pid_path, project_name) |
| 1133 | pid = public.readFile(pid_file) |
| 1134 | project_data = self.get_project_find(project_name) |
| 1135 | if isinstance(pid, str): |
| 1136 | try: |
| 1137 | pid = int(pid) |
| 1138 | psutil.Process(pid) |
| 1139 | except: |
| 1140 | pid = self._get_pid_by_env_name(project_data) |
| 1141 | if not pid: |
| 1142 | pid = self._get_pid_by_command(project_data) |
| 1143 | else: |
| 1144 | pid = self._get_pid_by_env_name(project_data) |
| 1145 | if not pid: |
| 1146 | pid = self._get_pid_by_command(project_data) |
| 1147 | |
| 1148 | if not pid: |
| 1149 | return [] |
| 1150 | |
| 1151 | pids = self.get_project_pids(pid=pid) |
| 1152 | if not pids: |
| 1153 | return [] |
| 1154 | return pids |
| 1155 | |
| 1156 | @staticmethod |
| 1157 | def other_service_pids(project_data: dict) -> Set[int]: |
no test coverage detected