2010-07-20 52 views
4

我在同一臺服務器上,在不同的文件夾中以生產模式和臨時模式運行我的rails應用程序。它們都使用需要運行memcached的memcache-client。memcached重新啓動一個新的memcached,並沒有殺死舊的

至今我還沒有設置部署腳本,因此只需通過sshing手動部署到服務器上,轉到相應的目錄,更新代碼,重新啓動memcached,然後重新啓動獨角獸(實際運行的進程導軌應用程序)。我重啓從而memcached的:

sudo /etc/init.d/memcached restart & 

這將啓動一個新的memcached,但它不殺老一:檢查出來:

ip-<an-ip>:test.millionaire[subjects]$ ps afx | grep memcache 
11176 pts/2 S+  0:00 |   \_ grep --color=auto memcache 
10939 pts/3 R  8:13    \_ sudo /etc/init.d/memcached restart 
7453 ?  Sl  0:00 /usr/bin/memcached -m 64 -p 11211 -u nobody -l 127.0.0.1 

ip-<an-ip>:test.millionaire[subjects]$ sudo /etc/init.d/memcached restart & 
[1] 11187 

ip-<an-ip>:test.millionaire[subjects]$ ps afx | grep memcache 
11187 pts/2 T  0:00 |   \_ sudo /etc/init.d/memcached restart 
11199 pts/2 S+  0:00 |   \_ grep --color=auto memcache 
10939 pts/3 R  8:36    \_ sudo /etc/init.d/memcached restart 
7453 ?  Sl  0:00 /usr/bin/memcached -m 64 -p 11211 -u nobody -l 127.0.0.1 

[1]+ Stopped     sudo /etc/init.d/memcached restart 
ip-<an-ip>:test.millionaire[subjects]$ sudo /etc/init.d/memcached restart & 
[2] 11208 
ip-<an-ip>:test.millionaire[subjects]$ ps afx | grep memcache 
11187 pts/2 T  0:00 |   \_ sudo /etc/init.d/memcached restart 
11208 pts/2 R  0:01 |   \_ sudo /etc/init.d/memcached restart 
11218 pts/2 S+  0:00 |   \_ grep --color=auto memcache 
10939 pts/3 R  8:42    \_ sudo /etc/init.d/memcached restart 
7453 ?  Sl  0:00 /usr/bin/memcached -m 64 -p 11211 -u nobody -l 127.0.0.1 

什麼可能導致它還有另外一個memcached的運行 - 看到底線。我很迷惑這是從哪裏來的,我的本能就是殺死它,但我認爲我最好檢查一下那些實際上比我更瞭解memcached的人。

感謝您的任何意見 - 最大

編輯 - 解決方案

我一點偵探工作,與同事後想通了這一點。在軌控制檯我輸入CACHE.stats打印出值的散列,其中包括「PID」,這我可以看到設置爲memcached的其中WASN的實例;噸開始使用memcached的重新啓動,即這個過程:

7453 ?  Sl  0:00 /usr/bin/memcached -m 64 -p 11211 -u nobody -l 127.0.0.1 

Memcached的控制腳本(即定義的啓動,停止和重新啓動命令),爲/etc/init.d/memcached

在這一行說

# Edit /etc/default/memcached to change this. 
ENABLE_MEMCACHED=no 

所以我看了/etc/default/memcached,這也是設置爲ENABLE_MEMCACHED=no

所以,這基本上阻止了memcached被停止和啓動。我將它改爲ENABLE_MEMCACHED=yes,那麼它會停下來,並開始罰款。現在,當我停止並啓動memcached時,它就是上述進程,正在使用的memcached,即停止並啓動。

回答

8

嘗試使用:

killall memcached 
+1

由於格雷格,我知道怎麼殺過程,但就像我說我想找出什麼是實際發生的情況,而不是僅僅解決它。無論如何,我想到了,請參閱編輯 – 2010-07-27 08:46:34

相關問題