(20251122) Added a staticmethod to kill all running Chrome processes before starting the automation script.

This commit is contained in:
2025-11-22 14:58:17 +05:30
parent 071f86e552
commit ee900eba1f
+35
View File
@@ -38,6 +38,7 @@ sys.path.append("..")
# For system-level activities:
import os
import psutil
# To work with date and time:
import time
@@ -201,6 +202,40 @@ class CosecWeb:
self._printer.disable()
self._nc_printer.disable()
# ┏┓ ┓┏┓•┓┓
# ┃┃┏┓┏┓┏┏┓┏┏ ┃┫ ┓┃┃
# ┣┛┛ ┗┛┗┗ ┛┛ ┛┗┛┗┗┗
@staticmethod
def kill_chrome_processes() -> int:
"""
To kill previous Chrome-driver processes. Use this when you think that older processes are going to interfere
with new ones.
:return: The count of the processes that were killed.
"""
kill_count = 0
# Enlist all the processes:
for proc in psutil.process_iter(['pid', 'name', 'cmdline']):
# Try to kill the process:
try:
name = proc.info['name']
cmd = proc.info['cmdline']
if name and ('chrome' in name.lower() or 'chromedriver' in name.lower()):
# self._nc_printer("Killing Chrome Proc.", name, proc.pid, cmd)
proc.kill()
kill_count += 1
# In case of exceptions:
except (psutil.NoSuchProcess, psutil.AccessDenied): pass
# Done here:
# self._nc_printer("Killed Chrome Procs.", kill_count)
return kill_count
# ┳┳┓•
# ┃┃┃┓┏┏
# ┛ ┗┗┛┗