2つのgcp Linux仮想マシンがあり、あるインスタンスから別のインスタンスにsshingして、次のコマンドを使用してプロセスを実行しています。コマンド#1を実行すると正常に動作しますが、バックグラウンドコマンド#2のオプションを使用してプロセスを実行すると、コマンドは結果を表示しません。
gcloud compute ssh -zone {Zone-Name} {vm1} -- 'cd /app/bin && ./clearcache && nohup ./startWeblogicAdmin >> admin.log' ==== This works fine
gcloud compute ssh -zone {Zone-Name} {vm2} -- 'cd /app/bin && ./clearcache && nohup ./startWeblogicAdmin >> admin.log &' === This does not gets executed.
バックグラウンドでプロセスを開始する方法が必要です。 VM2でこのSSHセッションからログアウトする場合
答え1
gcp linuxについてよくわからないので、シェルは "&"を使用してバックグラウンドでコマンドを実行するため、2番目の例は機能しないようです。ただし、コマンドを指定すると、sshはシェルを起動せずにコマンドを実行してから終了します。
したがって、私の仮定が正しい場合は、リモートシステムにログインし、目的のチャット言語などを使用してコマンドを実行するか、コマンド全体をローカルシステムのバックグラウンドに送信する必要があります。このような:
nohup gcloud compute ssh -zone {Zone-Name} {vm2} -- 'cd /app/bin && ./clearcache && nohup ./startWeblogicAdmin >> admin.log' &