回答:
これを行う最良の方法は、接続が切断された場合でも永続的な方法でセッションを開いたままにするscreenを使用することです(また、使用を再開したい場合は、a screen -r
を実行すると再び開きます)。
実行したいコマンドscreen
(例:)を接頭辞として付けると、うまくいきますssh -t user@host screen command
。
シェルのバックグラウンドで実行する場合は&
、すべてを追加することもできます。
前述のように、screen
すべてのトリックを行うことができます。しかし、必要なものだけではありません。私は何年もの間スクリーンを使用してきましたが、今ではシステムにログインするたびにスクリーンを使用しています。そのような構成でインストールscreen
して作成~/.screenrc
してみてください:
sessionname vcflists
startup_message off
deflogin off
vbell off
msgminwait 0
msgwait 10
log off
backtick 1 0 0 hostname
caption splitonly "%?%F%{= yk}%:%{= Kk}%? %n %t%="
hardstatus alwayslastline "%{= rY} %1` %{= kg} %0c %{= bY} %-w%{= Yk} %n %t %{-}%+w %=%{g}%l "
次にを実行しscreen -Rd vcf
ます。それはscreenの望ましい呼び出しです。vcf *という名前で以前に作成されたセッションに再接続します(あいまいな場合は警告が表示されます)。または、セッションがまだ開かれていない場合は作成されます。CTRL+ Aはすべてを行うメタキーです。CTRL+A C
(CTRL+ A、次にC)セッション内に新しいウィンドウ(画面)を作成します。CTRL+A SPACE
ラウンドの次のウィンドウにフォーカスを移動します。CTRL+A D
現在のセッションを切り離して、接続間ですべてのウィンドウを機能させます。いくつかのlooooongタスクを起動した場合は、画面からデタッチし、後で再アタッチして何が起こるかを確認できます。sshセッションが失われた場合も同じことが起こります。開いているすべてのウィンドウとすべてのタスクが起動された状態で画面が生き続けます。
画面内のいくつかのウィンドウを閉じたい場合- exit
シェルからのみ。すべてのウィンドウですべてのシェル/タスクを閉じて画面を終了するCTRL+A CTRL+\
場合は、尋ねられたら[Y]を押します。
その他のすべてについては、man画面を参照してください。