這篇文章介紹瞭如何保持一個子進程活着bash腳本:如何在失敗時自動重啓python腳本?
How do I write a bash script to restart a process if it dies?
這調用另一個bash腳本偉大的工作。
不過,我想執行類似的東西在那裏子進程是一個Python腳本,daemon.py它創建它在後臺運行一個派生的子過程:
#!/bin/bash
PYTHON=/usr/bin/python2.6
function myprocess {
$PYTHON daemon.py start
}
NOW=$(date +"%b-%d-%y")
until myprocess; do
echo "$NOW Prog crashed. Restarting..." >> error.txt
sleep 1
done
現在的行爲是完全不同的。看起來python腳本不再是bash腳本的子代,但似乎已經'接管'了BASH腳本PID - 所以不再有BASH包裝器繞過被調用的腳本...爲什麼?
這將有助於瞭解daemon.py中的內容,但是從名稱來看,我猜測它執行的是「exec」或任何python等價物將其置於後臺。 – 2010-04-26 15:08:13
...... W時的T? – 2010-04-26 15:08:42
編輯描述daemon.py – chris 2010-04-26 15:15:24