特定のパターンのリモート プロセスを強制終了し、スタートアップへのパスをプッシュしてスクリプトを実行する必要があります。私はこれまでに試しました
pid=$(ssh -q username@virt ps -ef|grep $APP|grep $PORT|awk '{print $2}')
ssh -q username@virt kill -9 $pid
ssh -q username@virt "find /shared/local/path1/app -name "start_app*" -exec grep -nl "9122" {} \;| xargs -0 -I '{}' bash -c 'pushd $(dirname {});bash {};'"
上記のコマンドを実行すると、kill 処理は正常に機能しています。scriptfile を検索し、フォルダーをパスにプッシュしてスクリプトを実行する最後のステップが機能していません。
何らかの理由で pushd が正常に機能していません。ローカルサーバー上のコマンドはうまく機能します
find /shared/local/path1/app -name "start_app*" -exec grep -nl "9122" {} \;| xarg -0 -I '{}' bash -c 'pushd $(dirname {});bash {};'
このタスクを達成するためのより効果的なソリューションを手伝ってください。