2

プロセスをリモートで終了する必要がある Fabric を使用してスクリプトを作成しています。

(これは、コマンドが最終的に /bin/bash コマンドとして実行されることを意味します)

私が持っている現在のコードは次のとおりです。

私が持っているkill.shファイルに

  /bin/kill  $(ps -ef | grep multiserver.jar | grep -v bin/sh | grep -v /bin/bash | grep -v sh | grep python  | grep -v /usr/bin/java | grep -v /usr/bin/python | grep -v sh  |  awk '{print $2}')

次のコマンドを使用して、リモートホストのファブリックで実行します

     local("scp "  + "kill.sh " + user +"@" + server_address + ":" + directory) 
     run ("chmod u+x kill.sh")
     run("./kill.sh")

ただし、次のエラーメッセージが表示されます

      out: Usage:
      [] out:  kill [options] <pid> [...]


      Fatal error: run() received nonzero return code 1 while executing!

   Requested: ./kill.sh
    Executed: /bin/bash -l -c "cd ...  && ./kill.sh"

私が間違っていることを誰かが知っていますか?

4

1 に答える 1

6

ファブリックでログを読み取ることでこの問題を解決しながら、リモート プロセスを強制終了するコマンドを作成しました。

with settings(warn_only=True):
    sudo("kill -9 `ps aux | <pipeline of greps> | awk '{print $2}'`")

お役に立てれば。

于 2013-06-21T19:36:00.713 に答える