2011-10-17 29 views
6

我使用瘦作爲我的Sinatra應用程序的服務器。它正是如此開始:薄和sinatra - 如何停止/重新啓動?沒有thin.pid

thin -C config/environment.yml -R config/config.ru start 

environment.yml有薄的東西,config.ru有你在rackup文件中找到一般的東西。

我希望能夠daemonize(使用瘦的配置文件很容易),並停止並重新啓動,就像一個與Apache/tomcat /等一樣。

當我嘗試thin stop或重新啓動或各種其他的東西,我得到:

Can't stop process, no PID found in tmp/pids/thin.pid

事實上,有沒有這樣的文件。我已經嘗試在瘦身配置yml中指定一個pid文件和​​位置(例如:/tmp/thin.pid,很簡單)到各種不同的地方。所有這些都是在"no PID found in"消息中更改目錄的位置,但仍未創建pid文件。

任何想法?

+0

是您的應用程序真的不多:

如果PID文件的位置非默認的,你也應該發出停止時指定配置文件?你用'ps ax |減肥嗎? grep瘦'? – Slartibartfast

+0

是的,該應用程序正在運行,我得到它與PS,我可以連接到它通過瀏覽器/捲曲/你有什麼。我現在在'screen'中運行它,當我想重新啓動時,只需'screen -r','ctrl + c',然後手動重啓。我想做得更好。 –

+0

您是否嘗試過'thin -C config/environment.yml stop'? – Slartibartfast

回答

9

在瘦守護程序時會創建Pid,因此仔細檢查配置文件daemonize: true選項。考慮到它是yaml,空白可能會使事情出錯。或者指定--daemonize開關。

thin -C config/environment.yml stop 
+0

我很確定這應該是配置文件中的'daemonize:true'(即沒有「d」) –

+0

@Jonathan Cairns謝謝,修正。 – Slartibartfast

相關問題