我正在开发一个应该自行重启的Python脚本。通过Bash重新启动进程
这是我在Python脚本做
os.execl('run.sh', '')
然后我run.sh看起来像这样
#!/bin/bash
sudo fuser -ku 8000/tcp
python /home/app.py
我用sudo fuser -ku 8000/tcp
是因为它是一种容易的,因为我的Python的原因脚本是唯一使用端口8000的。
当我运行python脚本时,它会执行此操作并停止。
8000/tcp: 7587(pi) 7596(pi) 7597(pi) 7605(pi) 7606(root)
./run.sh: line 3: 7587 Killed python /home/app.py
它从不重新启动python脚本。
谢谢!你的解决方案让我走到一半。它确实会重新启动python脚本,但我在脚本中运行的Flask服务器给了我这个错误:error:[Errno 98] Address already in use – Filip 2014-09-30 13:13:10
查找'SO_REUSEADDR'来解决这个问题。 – 2014-09-30 13:14:44
我似乎无法找到像Flask这样的东西,会以某种方式暴露Flask使用的套接字? – Filip 2014-09-30 13:25:43