過去問ドリル

LinuCレベル1 Linuxのインストールと仮想マシン・コンテナの利用 問40

Linuxのインストールと仮想マシン・コンテナの利用/プロセスの生成、監視、終了

リモートのサーバーにSSHでログインし、tmuxのセッションの中で対話的な作業をしていたところ、ネットワークが切れてSSH接続が切断された。再びSSHでログインした後、切断前の作業画面にそのまま戻るためのコマンドとして適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル1の出題範囲「Linuxのインストールと仮想マシン・コンテナの利用」に対応。実際の試験問題ではありません)

正解:D

解説

tmuxやscreenのような端末多重化ソフトでは、セッションがtmuxのサーバープロセス側で動き続けるため、SSH接続が切れても中の作業は終了しません。再接続後に tmux attach(tmux attach-session、短縮形 tmux a)を実行すると、残っているセッションに再びつなぎ(アタッチし)、作業画面に戻れます。意図的に離れるときは Ctrl+b に続けて d でデタッチします。screenを使っていた場合は、同じ目的で screen -r を使います。

選択肢ごとの解説

  • A誤り。fg はそのシェルのジョブをフォアグラウンドに戻すコマンドで、新しくログインしたシェルには切断前のジョブは存在しません。
  • B誤り。screen -r はscreenのセッションに再接続するコマンドで、tmuxのセッションには使えません。
  • C誤り。jobs -l は現在のシェルのジョブをPID付きで一覧表示するだけで、別のセッションへ戻る機能はありません。
  • D正しい。tmux attach で、切断後も動き続けているtmuxのセッションに再びアタッチできます。
LinuCレベル1の問題を演習モードで解く