update
This commit is contained in:
25
start.py
25
start.py
@@ -9,21 +9,28 @@ from loguru import logger
|
||||
binary_command = "cd /home/evan/Workplace/project_capture/build/; ./capture" # 替换为你的二进制程序路径
|
||||
conda_envs = [
|
||||
{"env": "conda_venv", "path": "/home/evan/Workplace/project_infer/lane_server/", "script": "python lane_infer_server.py"},
|
||||
{"env": "conda_venv", "path": "/home/evan/Workplace/project_infer/yolo_server/", "script": "python yolo_infer_server.py"},
|
||||
{"env": "conda_venv", "path": "/home/evan/Workplace/project_infer/yolo_server/", "script": "python yolo_infer_server.py"},
|
||||
{"env": "conda_venv", "path": "/home/evan/Workplace/project_infer/ocr_server/", "script": "python ocr_infer_server.py"},
|
||||
]
|
||||
|
||||
def kill_processes_by_name(process_name):
|
||||
"""
|
||||
终止所有具有指定名称的进程。
|
||||
"""
|
||||
for proc in psutil.process_iter(['pid', 'name', 'cmdline']):
|
||||
try:
|
||||
# 检查进程名是否包含给定的字符串
|
||||
if process_name.lower() in proc.info['name'].lower() or process_name.lower() in ' '.join(proc.info['cmdline']).lower():
|
||||
logger.warning(f"Killing {proc.info['name']} (PID: {proc.info['pid']})")
|
||||
proc.kill()
|
||||
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
|
||||
pass
|
||||
for proc in psutil.process_iter(['pid', 'name', 'cmdline']):
|
||||
try:
|
||||
# 检查 cmdline 是否存在且是可迭代的
|
||||
if 'cmdline' in proc.info and isinstance(proc.info['cmdline'], (list, tuple)):
|
||||
cmdline = ' '.join(proc.info['cmdline']).lower()
|
||||
# 检查进程名或命令行是否包含给定的字符串
|
||||
if process_name.lower() in proc.info['name'].lower() or process_name.lower() in cmdline:
|
||||
logger.warning(f"Killing {proc.info['name']} (PID: {proc.info['pid']})")
|
||||
proc.kill()
|
||||
else:
|
||||
# 如果 cmdline 不存在或不是可迭代的,可以跳过或记录日志
|
||||
logger.debug(f"cmdline is not iterable or does not exist for process {proc.info['name']} (PID: {proc.info['pid']})")
|
||||
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
|
||||
pass
|
||||
|
||||
# 启动函数,用于启动并监控一个进程
|
||||
def start_and_monitor_process(cmd, env=None):
|
||||
|
||||
Reference in New Issue
Block a user