如何在macOS的Shell脚本中打开新终端运行Python脚本
在macOS下实现Shell脚本检测并在新终端重启Python机器人
针对你的需求,修改else分支的代码即可实现在新Terminal窗口启动instagram_bot.py,以下是完整的脚本:
while : do # 精确检测目标进程,避免匹配监控脚本自身的pgrep命令 if pgrep -f "^python.*instagram_bot.py$" &>/dev/null; then echo "instagram_bot.py 正在运行" sleep 10 # 延长轮询间隔,减少系统资源占用 else echo "检测到instagram_bot.py未运行,正在启动新终端..." # 在新Terminal窗口启动脚本,保持窗口打开以便查看日志 open -a Terminal --args /bin/bash -c "cd $(pwd); python instagram_bot.py; exec /bin/bash" sleep 5 # 防止短时间内重复创建终端窗口 fi done
关键修改说明:
open -a Terminal --args /bin/bash -c "...":调用macOS默认Terminal应用,启动bash并执行指定命令cd $(pwd):切换到当前监控脚本所在的工作目录,确保能正确找到instagram_bot.py文件exec /bin/bash:Python脚本运行结束后,终端窗口不会自动关闭,方便查看运行日志或报错信息- 调整
sleep时长:将轮询间隔从1秒改为10秒,减少不必要的系统消耗;新增5秒延迟避免重复创建窗口 - 精确进程匹配:修改
pgrep的匹配规则为^python.*instagram_bot.py$,避免误匹配监控脚本自身的进程
内容的提问来源于stack exchange,提问作者Kacper Łęczyński
相关产品推荐
相关产品推荐

