0

私のプロジェクトは Webfaction でホストされており、スーパーバイザーはプロセスを認識するために使用されています。シェル ユーティリティを使用してスーパーバイザーの PID を取得し、手動で行うと問題なく動作しますが、Fabric で同じコマンドをリモートで実行するとランダムな PID を取得しました

スーパーバイザの PID を取得するコード

spid = run('ps auxw | grep supervisord | grep %s | tr -s \' \' | cut -d\  -f 2' % USER)

if spid:                   # if supervisor is running and PID is found
    run('kill %s' % spid)  # kill supervidor daemon

コマンドをリモートで呼び出すときにランダムな PID を取得する理由がわかりません。その方法の何が問題なのですか?

ありがとう、

スルタン

4

1 に答える 1

0

pkillまたはpgrepを使用してpidを見つけることで、これをより簡単に解決できます。しかし、それだけの場合は、-j|--pidfile=オプションを使用して、プロセスの出力を調べる必要がないようにすることもできます。

于 2012-09-24T06:07:48.480 に答える