2つのgcplinux VMがあり、あるインスタンスから別のインスタンスにsshを実行し、以下のコマンドを使用してプロセスを実行しています。これは、コマンド#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シーションからログアウトします。
gcp linuxのことを知らないので、2番目の例は機能しないと思います。これは、シェルが「&」を使用してコマンドをバックグラウンドで実行するためです。ただし、sshはコマンドを指定してもシェルを開始せず、コマンドを実行して終了します。
したがって、私の仮定が正しければ、リモートシステムにログインして、expectのようなチャット言語を使用してコマンドを実行するか、コマンド全体をローカルシステムのバックグラウンドに送信してみる必要があります。そんな感じ:
nohup gcloud compute ssh -zone {Zone-Name} {vm2} -- 'cd /app/bin && ./clearcache && nohup ./startWeblogicAdmin >> admin.log' &
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加