update
This commit is contained in:
@@ -10,6 +10,11 @@ run() {
|
|||||||
python main.py
|
python main.py
|
||||||
}
|
}
|
||||||
|
|
||||||
|
axis() {
|
||||||
|
cd ~/Workplace/toolkits
|
||||||
|
./axis_assist
|
||||||
|
}
|
||||||
|
|
||||||
command_array=("start" "run")
|
command_array=("start" "run")
|
||||||
|
|
||||||
if [ $# -lt 1 ]; then
|
if [ $# -lt 1 ]; then
|
||||||
@@ -23,9 +28,12 @@ else
|
|||||||
start # 这里添加了调用start函数的代码
|
start # 这里添加了调用start函数的代码
|
||||||
elif [[ $1 == "run" || $1 == "-run" || $1 == "RUN" ]]; then
|
elif [[ $1 == "run" || $1 == "-run" || $1 == "RUN" ]]; then
|
||||||
run # 假设你希望在这里调用run函数
|
run # 假设你希望在这里调用run函数
|
||||||
|
elif [[ $1 == "axis" || $1 == "-axis" || $1 == "AXIS" ]]; then
|
||||||
|
axis #
|
||||||
elif [[ $1 == "help" || $1 == "-help" || $1 == "HELP" ]]; then
|
elif [[ $1 == "help" || $1 == "-help" || $1 == "HELP" ]]; then
|
||||||
echo "start: 启动服务端脚本"
|
echo "start: 启动服务端脚本"
|
||||||
echo "run: 启动任务主程序脚本"
|
echo "run: 启动任务主程序脚本"
|
||||||
|
echo "axis: 執行機構調試腳本"
|
||||||
else
|
else
|
||||||
echo "无效的指令:$1"
|
echo "无效的指令:$1"
|
||||||
fi
|
fi
|
||||||
|
|||||||
25
start.py
25
start.py
@@ -9,21 +9,28 @@ from loguru import logger
|
|||||||
binary_command = "cd /home/evan/Workplace/project_capture/build/; ./capture" # 替换为你的二进制程序路径
|
binary_command = "cd /home/evan/Workplace/project_capture/build/; ./capture" # 替换为你的二进制程序路径
|
||||||
conda_envs = [
|
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/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):
|
def kill_processes_by_name(process_name):
|
||||||
"""
|
"""
|
||||||
终止所有具有指定名称的进程。
|
终止所有具有指定名称的进程。
|
||||||
"""
|
"""
|
||||||
for proc in psutil.process_iter(['pid', 'name', 'cmdline']):
|
for proc in psutil.process_iter(['pid', 'name', 'cmdline']):
|
||||||
try:
|
try:
|
||||||
# 检查进程名是否包含给定的字符串
|
# 检查 cmdline 是否存在且是可迭代的
|
||||||
if process_name.lower() in proc.info['name'].lower() or process_name.lower() in ' '.join(proc.info['cmdline']).lower():
|
if 'cmdline' in proc.info and isinstance(proc.info['cmdline'], (list, tuple)):
|
||||||
logger.warning(f"Killing {proc.info['name']} (PID: {proc.info['pid']})")
|
cmdline = ' '.join(proc.info['cmdline']).lower()
|
||||||
proc.kill()
|
# 检查进程名或命令行是否包含给定的字符串
|
||||||
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
|
if process_name.lower() in proc.info['name'].lower() or process_name.lower() in cmdline:
|
||||||
pass
|
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):
|
def start_and_monitor_process(cmd, env=None):
|
||||||
|
|||||||
Reference in New Issue
Block a user