我正在開發一個應該自行重啓的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