如何编写bash脚本同时运行两个Python脚本并可按键同时终止所有进程
解决方案
完整bash脚本代码
#!/bin/bash # 清理函数:终止所有Python子进程后退出脚本 cleanup() { echo "正在终止所有后台Python进程..." kill $pid_app $pid_igc 2>/dev/null exit 0 } # 绑定Ctrl+C触发的SIGINT信号、kill命令触发的SIGTERM信号到清理函数 trap cleanup SIGINT SIGTERM # 启动两个Python脚本并记录对应PID python3 appcode.py & pid_app=$! python3 igc.py & pid_igc=$! # 阻塞等待后台进程运行,避免脚本直接退出 wait
使用步骤
- 将上述代码保存为
run.sh文件 - 执行命令赋予脚本执行权限:
chmod +x run.sh - 运行脚本:
./run.sh - 终止方式:
- 在运行脚本的终端按下
Ctrl+C即可同时终止两个Python脚本和bash脚本 - 也可以通过
kill run.sh的PID指令触发批量终止
- 在运行脚本的终端按下
说明
该方案无需修改现有Python代码,完全避开了Pyautogui和PyQt5同进程运行时的线程冲突、Qt插件加载失败问题。
内容的提问来源于stack exchange,提问作者Connor
相关产品推荐
相关产品推荐

