mentorkill.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. '''
  2. Created on 8 Feb 2023 @author: vnc-console
  3. '''
  4. import argparse
  5. import psutil
  6. from psutil import Process as proc
  7. def list_process(kill=False, user=None):
  8. PROCNAME = 'mentor.exe'
  9. PROCNAMED = 'declaratii.exe'
  10. USER = 'vnc-console'
  11. avr = []
  12. for proc in psutil.process_iter():
  13. try:
  14. if proc.name().lower() == PROCNAME:
  15. if USER in proc.username().lower():
  16. if kill == 'me':
  17. # proc.kill()
  18. print(f'{proc.name()} pid:{proc.pid} killed!')
  19. # pid = proc.pid
  20. for _ in range(10):
  21. avr.append(proc.cpu_percent(interval=0.1))
  22. usage = float(sum(avr))/len(avr)
  23. print(f'currently running: {proc.name()}: {proc.username()} usage: {usage}')
  24. if kill == 'all':
  25. # if usage >= 12.0:
  26. # # mnt = psutil.Process(pid=pid)
  27. print('killing')
  28. proc.kill()
  29. elif proc.name().lower() == PROCNAMED:
  30. if USER in proc.username().lower():
  31. if kill == 'me':
  32. proc.kill()
  33. print(f'{proc.name()} pid:{proc.pid} killed!')
  34. for _ in range(10):
  35. avr.append(proc.cpu_percent(interval=0.1))
  36. usage = float(sum(avr))/len(avr)
  37. print(f'currently running: {proc.name()}: {proc.username()} usage: {usage}')
  38. if kill == 'all':
  39. print('killing')
  40. proc.kill()
  41. except psutil.AccessDenied as exc:
  42. print(str(exc))
  43. todo = input('press enter to exit, or --kill[me|all]')
  44. if todo == 'me' or todo == 'all':
  45. list_process(kill=todo)
  46. parser = argparse.ArgumentParser()
  47. parser.add_argument('-list', action='store_const', const=list_process, dest='cmd')
  48. parser.add_argument('--kill', type=str)
  49. args = parser.parse_args()
  50. args.cmd(args.kill)
  51. input('done, press a key to exit')