0
我有一個依賴於MySQL的進程,如果沒有它,就無法工作。有沒有辦法掛鉤到MySQL,這樣我可以觸發這個過程重新啓動每次重新啓動MySQL?現在,我正在手動重啓進程(MySQL發生故障時會崩潰)以重新啓動進程。MySQL - 開始掛鉤
我有一個依賴於MySQL的進程,如果沒有它,就無法工作。有沒有辦法掛鉤到MySQL,這樣我可以觸發這個過程重新啓動每次重新啓動MySQL?現在,我正在手動重啓進程(MySQL發生故障時會崩潰)以重新啓動進程。MySQL - 開始掛鉤
這可能是一種「鉤入mysql」的方法來做到這一點,但你並不需要。我假定您正在運行Linux或UNIX變體,並且您的MySQL實例正在偵聽默認端口(3306)。然後shell命令:
的netstat -an | grep的3306
會給你回一個單一的線,而MySQL的過程時,沒有輸出時,它的下降。
所以寫一個Python腳本來運行該命令每隔T秒,然後重新啓動過程中,如果出現空的,這樣的事情:
#!/usr/bin/python
import time
import commands
while 1:
if not commands.getoutput("netstat -an |grep 3306"):
# restart your process
time.sleep(10)
這應該做到這一點。
什麼樣的過程?這是一項服務嗎?它是客戶端應用程序嗎?網絡服務? – xecaps12 2011-04-26 04:13:19
這是一項服務,具體來說,是Celery(Python),當MySQL關閉時會停止運行。 – jeffreyveon 2011-04-26 05:45:06