@name 排序 @param process_info_list list @return list
(sekf, process_info_list)
| 680 | _sql.close() |
| 681 | |
| 682 | def get_top_list(sekf, process_info_list): |
| 683 | ''' |
| 684 | @name 排序 |
| 685 | @param process_info_list list |
| 686 | @return list |
| 687 | ''' |
| 688 | process_info_list = sorted( |
| 689 | process_info_list, |
| 690 | key=lambda x: |
| 691 | [x['cpu_percent'], x['disk_total'], x['net_total'], x['memory']], |
| 692 | reverse=True) |
| 693 | top_num = 5 |
| 694 | all_top = [] |
| 695 | for p in process_info_list[:top_num]: |
| 696 | _line = [ |
| 697 | p['cpu_percent'], p['disk_read'], p['disk_write'], p['memory'], |
| 698 | p['up'], p['down'], p['pid'], |
| 699 | public.xssencode2(p['name']), |
| 700 | public.xssencode2(p['cmdline']), |
| 701 | public.xssencode2(p['username']), p['create_time'] |
| 702 | ] |
| 703 | all_top.append(_line) |
| 704 | |
| 705 | process_info_list = sorted(process_info_list, |
| 706 | key=lambda x: x['cpu_percent'], |
| 707 | reverse=True) |
| 708 | cpu_top = [] |
| 709 | for p in process_info_list[:top_num]: |
| 710 | if not p['cpu_percent']: continue |
| 711 | _line = [ |
| 712 | p['cpu_percent'], p['pid'], |
| 713 | public.xssencode2(p['name']), |
| 714 | public.xssencode2(p['cmdline']), |
| 715 | public.xssencode2(p['username']), p['create_time'] |
| 716 | ] |
| 717 | cpu_top.append(_line) |
| 718 | |
| 719 | process_info_list = sorted(process_info_list, |
| 720 | key=lambda x: x['disk_total'], |
| 721 | reverse=True) |
| 722 | disk_top = [] |
| 723 | for p in process_info_list[:top_num]: |
| 724 | if not p['disk_total']: continue |
| 725 | _line = [ |
| 726 | p['disk_total'], p['disk_read'], p['disk_write'], p['pid'], |
| 727 | public.xssencode2(p['name']), |
| 728 | public.xssencode2(p['cmdline']), |
| 729 | public.xssencode2(p['username']), p['create_time'] |
| 730 | ] |
| 731 | disk_top.append(_line) |
| 732 | |
| 733 | process_info_list = sorted(process_info_list, |
| 734 | key=lambda x: x['net_total'], |
| 735 | reverse=True) |
| 736 | net_top = [] |
| 737 | for p in process_info_list[:top_num]: |
| 738 | if not p['net_total']: continue |
| 739 | _line = [ |