kill_all.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import os
  2. import re
  3. import sys
  4. import psutil
  5. sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../")
  6. from format_convert.utils import get_ip_port, get_intranet_ip
  7. ip_port_dict = get_ip_port()
  8. ip = "http://127.0.0.1"
  9. python_path = ip_port_dict.get(ip).get("MASTER").get("python_path")
  10. gunicorn_path = ip_port_dict.get(ip).get("MASTER").get("gunicorn_path")
  11. project_path = ip_port_dict.get(ip).get("MASTER").get("project_path")
  12. def kill():
  13. if python_path and project_path:
  14. pid_list = psutil.pids()
  15. for pid in pid_list:
  16. process = psutil.Process(pid)
  17. process_cmd = ''
  18. for c in process.cmdline():
  19. process_cmd += c + " "
  20. if process_cmd.strip() == "":
  21. continue
  22. if "monitor" in process_cmd or "kill" in process_cmd:
  23. continue
  24. if re.search(project_path, process_cmd):
  25. comm = "kill -9 " + str(pid)
  26. print(comm, process_cmd)
  27. os.system(comm)
  28. else:
  29. print("cannot kill! checkout config...")
  30. print(ip_port_dict)
  31. print(ip, python_path, project_path)
  32. if __name__ == "__main__":
  33. kill()