SSH経由でリモートサーバー上で実行されるシェルスクリプトがあります。一時的にローカル端末に戻るには、Ctrl+を実行しZてシェルセッションをバックグラウンドにする必要があります。
次のコマンドを試しました。 (現在のシェルのpid($ $))
suspend
kill -s STOP $$
killall -s STOP $$
kill -s TSTP $$
killall -s TSTP $$
しかし、以下のように、それらのどれも期待どおりに機能しません。
コマンド1、2、3:
セッションを正常に中断しましたが、コマンドプロンプトが再び表示されないため、それ以降は何もできません。
コマンド4,5:
セッションが一時停止していないようですが、実行後にコマンドプロンプトが表示されます。
この問題を解決する方法はありますか?
答え1
コマンド1-3は、sshセッションを一時停止しませんが、回復できない可能性があるリモートシェルを一時停止します。
リモートサーバーのシェルはSSHセッションを一時停止できません。これはキーボード入力enter ~ ctrl+を使用してローカル側で行う必要がありますz。このキーシーケンスはローカルSSHから直接読み込み、それ自体を一時停止するように命令します。
ローカルシステムで別のウィンドウを開くことができますが、なぜシェルプロンプトを取得するためにSSHセッションを中断するのかわかりません。