4

Python と memcached を使用して Web アプリケーションを開発しています。

まず、Python プログラムから memcached を開始したいとsubprocess.Popen(["memcached"]);思います。本当に気になるのは、memcached が既にバックグラウンドで実行されているかどうかを確認する方法です。

私は何かが欲しい

if check_memcached():
    start_memcached();

check_memcached()memcached がまだ実行されていない場合、関数は true を返す必要があります。誰でもこれを行う方法を知っていますか?

4

1 に答える 1

5

確認する最良の方法は、プラットフォームによって異なる場合があります。試すことができるいくつかの方法は次のとおりです。

  • memcachedサーバーに接続してみてください。接続に失敗した場合は、サーバーが実行されていないと想定してください。
  • memcachedがローカルで実行されることが予想される場合は、PIDファイルを探してください。Debianでは、これは通常/var/run/memcached.pid、実行中のmemcachedデーモンのプロセスIDにあり、含まれています。さらに確実に、ファイルに含まれているPIDを読み取り、このPIDを持つプロセスがまだ実行中であることを確認できます。
  • モジュールを使用しsubprocessて、ローカルで実行されているデーモンを直接チェックできるコマンドを実行します。例えば。pidof memcachedを使用してコマンドを実行しsubprocess、戻りコードを確認します。
于 2013-03-11T06:15:23.583 に答える