スクリーンセッションでCtrl + dを押しましたが、どのようにコマンドを送信できますか?

スクリーンセッションでCtrl + dを押しましたが、どのようにコマンドを送信できますか?

試して入力Ctrladしましたが、悲惨に失敗し、画面Ctrldが私のコマンドに応答しなくなりました。このメッセージが表示され、画面で実行されているアプリケーション(Minecraft Server)はまだ正常に動作していますが、サーバーコマンドを実行することはできません。

Ctrlad正しく機能して再接続しましたが、screen -r -d -S minecraft登録されたコマンドはありません。

制御力を回復する方法はありますか?

答え1

Ctrld通常、EOF信号を生成するように構成されます。この信号は、基本的にほとんどのシェルでシェル入力の終わりを示し、シェルが終了することを示します。しかし、シェルが別のプロセスを開始したため、そのプロセスが終了するのを待っています。

この操作はキャンセルできません。

これが起こらないようにするには、bashを使用すると仮定し、環境変数を1より大きい数値に設定すると、誤って何度もIGNOREEOF遭遇する必要があります。Ctrld

答え2

私は同じ問題を解決する必要があるときにこの特定の記事を見つけました。私考えるこの記事を読んで、「死んだ」画面ウィンドウを使っていくつかの作業を試みた後、偶然答えを見つけました。

状態:私はbashのコマンドラインエディタとして "set -o vi"を使用します。戻るスクロールするには、「ESC k」を使用します。空のプロンプトで再びキャンセルしたい場合は、CTRL-Cを押したかったのですが、誤ってCTRL-Dを押しました。これにより画面のウィンドウがロックされます。画面自体はまだ大丈夫で、他の画面ウィンドウもすべて大丈夫です。

解決策(?):私はXOFF(ctrl-s)の後にXON(ctrl-q)を送信すると、ウィンドウを「固定解除」できることがわかりました。 XONのみ送信 - XOFFを最初に送信せずに -いいえ働く

ただし、CTRL-Dロックを完全に再現することはできません。どんな状況で起こったのかわかりません!問題を再現できないため、解決策をテストできないため、実際に解決策を見つけたのか、しばらくしても何らかの理由で「自分で解決する」ことがわかりません。 *肩をすくめる*

もしテストしてみた方がいらっしゃるなら答えお願いします! :英)

関連情報