web-dev-qa-db-ja.com

memcachedが正しく再起動しないstart-stop-daemon:警告:強制終了に失敗しました8175:そのようなプロセスはありません

memcachedで本当に奇妙で厄介な問題が発生しています。 linodeインスタンスでubuntuサーバー10.04ltsを実行しているim。 Djangoプロジェクトでファブリックを使用していて、ファブリックスクリプトの一部で、memcachedプロセスを再起動できます。今日、ファブリックが次のようなエラーを出力していることに気付きました。

Restarting memcached: start-stop-daemon: warning: failed to kill 8175: No such process

次に、すぐにボックスにSSHで接続して、それが1回限りの問題なのか、ファブリックに関する何らかの問題なのかを確認しました。だから私はボックスで直接コマンドを実行します

Restarting memcached: start-stop-daemon: warning: failed to kill 8186: No such process

同じ取引の異なるプロセスID。次に、正常に機能するmemcachedにtelnetで接続しようとしました。プロセスIDは8123になりました。クイックpsaux | grep memcachedコマンドは、プロセスがこのpidで実行されていることを示しました。

www-data  7259  0.0  0.1  45972   772 ?        Ssl  16:38   0:00 memcached -d -u www-data -p 11211 -m 64
www-data  8123  0.0  2.4  57220 12260 ?        Ssl  17:02   0:00 memcached -d -u www-data -p 11211 -m 64

apt経由でmemcachedをインストールしているときに、今まで気づかなかったことが起こったのではないかと思ったので、memcachedを削除して、エラーなしで再インストールしました。次に、次のオプションを使用してmemcachedを実行しました

Sudo memcached -d -u www-data -p 11211 -m 64

本当に奇妙なことは、memcachedを停止して再起動すると、エラーなしで/etc/init.d/memcached restartを一度実行できます。その後、pidが見つからないという同じ警告が繰り返し発生します。

私は今これで私の知恵の終わりにいます、助けてください:/ !!

3
Mike Waites

実行中のプロセスを強制的に強制終了します。

Sudo kill -9 {process_id}

/var/run/memcached.pidが存在する場合は、何も実行されていないことを確認してください。

次に、Sudo /etc/init.d/memcachdstartを試してください

/var/run/memcached.pidのプロセスIDが、ps aux |の場合のプロセスIDと一致することを確認します。 grepmemcache。もしそうなら、Sudo /etc/init.d/memcachd {start/stop/restart}をうまく実行しているはずです。

Upstartスクリプトもかっこいいでしょう:)

クリス

3
krak3n

これは実際にはバグとしてここに報告されました:

https://bugs.launchpad.net/ubuntu/+source/memcached/+bug/79567

Ubuntuの開発リリースで修正しました(現在は正確です)。修正は非常に小さく、時間の許す限り、10.04にバックポータブルする必要があります。

0
SpamapS

Lucidを使用しているので、Upstartでmemcachedを設定することを検討しましたか?

このようなものが機能するはずです:

$ cat /etc/init/memcached.conf
# memcached - in-memory cache
#
description "memcached"

start on (local-filesystems and started networking)
stop on runlevel [!2345]

respawn

pre-start script
  test -x /usr/bin/memcached || { stop; exit 0; }
end script

exec /usr/bin/memcached -d -u www-data -p 11211 -m 64 

この場合、Upstartはmemcachedの存続を処理します。

0
cjc