私は現在、安全なプレイブックを使ってマイクロサービスを配備しようとしています。そして、すべてのマイクロサービスはjava -jar
コマンドを使用して展開します。今は、別のJavaアプリケーションを配備する前に、依存するjava-jarプロセスを見つけてそれを削除するための、不可解なプレイブックを作成しようとしています。特定のjavaプロセスとkillを見つけるための可能なプレイブック
私はここでアイデアが不足しています。私はinit.dでjava deamon用のスクリプトを作成することを考えていました。しかし、もし私がそれをしてサービスを止めれば、私は望んでいないすべてのJavaプロセスを停止します。ps -ef | grep java
ルート 28330 1 1午後01時52分のため
出力? 00:00:56 java -jar -DCONFIG_FOLDER =/opt/app/microservices/deploy/dal-core/config /opt/app/microservices/deploy/dal-core/enrollment-vehicle-dal-core-0.0.1 -SNAPSHOT.jar
ルート 29143 1 2 14:22? 00:00:49 java -jar -DCONFIG_FOLDER =/opt/app/microservices/deploy/dal-core/config /opt/app/microservices/deploy/dal-core/enrollment-vehicle-listener-0.0.1-SNAPSHOT .jar
ルート 29879 1 2 14:23? 00:00:48 java -jar -DCONFIG_FOLDER =/opt/app/microservices/deploy/dal-core/config /opt/app/microservices/deploy/dal-core/enrollment-account-dal-core-0.0.1 -SNAPSHOT.jar
ルート 31093 1 3 14:28? 00:01:04 java -jar -DCONFIG_FOLDER =/opt/app/microservices/deploy/listener/config /opt/app/microservices/deploy/listener/enrollment-account-listener-0.0.1-SNAPSHOT.jar
14:57 31208 18879 0のasadmin PTS/1 0時00分00秒上記のシナリオではgrep --color =自動javaの
は、私が起きた場合は、再度、登録アカウント-DAL-コアを展開しますenrollment-account-listener(pid:31093)、次にenrollment-account-dal-core(pid:29879)を1番目に殺すべきです。
私はすべてのマイクロサービス用のプレイブックを持っていますので、ハード・コードもできません。
フィードバック32cupoありがとうございます。私はプレイブックモジュールを使用する機会を得られなかったことを申し訳ありませんが、それは完璧に見えます。はい、問題を解決するためにシェルモジュールを使用しました。次のようなものがあります: "kill $(ps aux | grep -i 'enrollment-account' | awk '{print $ 2}')" ...........このコマンドは文字列 "enrollment-account"をgrepし、プロセスIDをkillします:) – Manjil