@name 获取进程网络流量 @author hwliang<2021-09-13> @param pid 进程ID @return tuple
(self, pid)
| 490 | self.__cache.set('last_net_process', time.time(), 600) |
| 491 | |
| 492 | def get_process_network(self, pid): |
| 493 | ''' |
| 494 | @name 获取进程网络流量 |
| 495 | @author hwliang<2021-09-13> |
| 496 | @param pid<int> 进程ID |
| 497 | @return tuple |
| 498 | ''' |
| 499 | |
| 500 | if not self.__process_net_list: |
| 501 | self.get_process_net_list() |
| 502 | if not self.last_net_process_time: |
| 503 | return 0, 0, 0, 0 |
| 504 | if not pid in self.__process_net_list.keys(): |
| 505 | return 0, 0, 0, 0 |
| 506 | |
| 507 | if not pid in self.last_net_process: |
| 508 | return self.__process_net_list[pid]['up'], self.__process_net_list[ |
| 509 | pid]['up_package'], self.__process_net_list[pid][ |
| 510 | 'down'], self.__process_net_list[pid]['down_package'] |
| 511 | |
| 512 | up = int((self.__process_net_list[pid]['up'] - |
| 513 | self.last_net_process[pid]['up']) / |
| 514 | (time.time() - self.last_net_process_time)) |
| 515 | down = int((self.__process_net_list[pid]['down'] - |
| 516 | self.last_net_process[pid]['down']) / |
| 517 | (time.time() - self.last_net_process_time)) |
| 518 | up_package = int((self.__process_net_list[pid]['up_package'] - |
| 519 | self.last_net_process[pid]['up_package']) / |
| 520 | (time.time() - self.last_net_process_time)) |
| 521 | down_package = int((self.__process_net_list[pid]['down_package'] - |
| 522 | self.last_net_process[pid]['down_package']) / |
| 523 | (time.time() - self.last_net_process_time)) |
| 524 | if up < 0: up = 0 |
| 525 | if down < 0: down = 0 |
| 526 | if up_package < 0: up_package = 0 |
| 527 | if down_package < 0: down_package = 0 |
| 528 | return up, up_package, down, down_package |
| 529 | |
| 530 | def get_process_username(self, pid): |
| 531 | ''' |
no test coverage detected