MCPcopy Create free account
hub / github.com/aaPanel/BaoTa / get_process_info_by_pid

Method get_process_info_by_pid

class/projectModel/javaModel.py:2239–2276  ·  view source on GitHub ↗

@name 获取进程信息 @author hwliang<2021-08-12> @param pid: int<进程id> @return dict

(self, pid)

Source from the content-addressed store, hash-verified

2237 return result
2238
2239 def get_process_info_by_pid(self, pid):
2240 ''&#x27;
2241 @name 获取进程信息
2242 @author hwliang<2021-08-12>
2243 @param pid: int<进程id>
2244 @return dict
2245 ''&#x27;
2246 process_info = {}
2247 try:
2248 if not os.path.exists('/proc/{}'.format(pid)): return process_info
2249 p = psutil.Process(pid)
2250 status_ps = {'sleeping': '睡眠', 'running': '活动'}
2251 with p.oneshot():
2252 p_mem = p.memory_full_info()
2253 if p_mem.uss + p_mem.rss + p_mem.pss + p_mem.data == 0: return process_info
2254 p_state = p.status()
2255 if p_state in status_ps: p_state = status_ps[p_state]
2256 # process_info['exe'] = p.exe()
2257 process_info['name'] = p.name()
2258 process_info['pid'] = pid
2259 process_info['ppid'] = p.ppid()
2260 process_info['create_time'] = int(p.create_time())
2261 process_info['status'] = p_state
2262 process_info['user'] = p.username()
2263 process_info['memory_used'] = p_mem.uss
2264 process_info['cpu_percent'] = self.get_cpu_precent(p)
2265 try:
2266 process_info['io_write_bytes'], process_info['io_read_bytes'] = p.io_counters()
2267 except:
2268 process_info['io_write_bytes'], process_info['io_read_bytes'] = 0, 0
2269 process_info['connections'] = self.format_connections(p.connections())
2270 process_info['connects'] = self.get_connects(pid)
2271 process_info['open_files'] = self.list_to_dict(p.open_files())
2272 process_info['threads'] = p.num_threads()
2273 process_info['exe'] = ' '.join(p.cmdline())
2274 return process_info
2275 except:
2276 return process_info
2277
2278 def get_io_speed(self, p):
2279 ''&#x27;

Callers 2

get_project_load_infoMethod · 0.95
get_duli_load_infoMethod · 0.95

Calls 9

get_cpu_precentMethod · 0.95
format_connectionsMethod · 0.95
get_connectsMethod · 0.95
list_to_dictMethod · 0.95
existsMethod · 0.45
formatMethod · 0.45
statusMethod · 0.45
nameMethod · 0.45
joinMethod · 0.45

Tested by

no test coverage detected