SSHセッションを強制終了せずにPCをシャットダウンする


14

リモートLinuxマシン上で実行されている重い、長いプロセスがいくつかあります。私はラップトップを使用してこれらのマシンにSSH接続し、ソファからプロセスを実行します。

しかし、ラップトップをシャットダウンしようとすると、リモートプロセスが強制終了されるため、問題が発生します。

私は調査を行い、「スクリーン」が私にとって素晴らしい解決策であることがわかりました。(ラップトップをシャットダウンしない限り)。「スクリーン」セッションを「永続化」して、シャットダウンしてからセッションに再接続する方法はありませんか?


リモートLinuxシステムで画面を実行していますか?
サム・ミラー

プロセスをバックグラウンドにすることは可能ですか?
ennuikiller

回答:


32

ラップトップでスクリーンセッションを実行しているようです。次に、そのスクリーンセッションからリモートホストにスッシングします。ラップトップをシャットダウンすると、ローカルスクリーンプロセスが強制終了され、sshセッションが強制終了されます。

あなたがやりたいのは、ラップトップからリモートホストへのsshです。次に、リモートホストでスクリーンセッションを開始します。ラップトップの電源を切ると、sshセッションは終了しますが、リモートスクリーンセッションは持続します。

次回リモートシステムにログインするときに、「screen -r」を使用してスクリーンセッションに再接続するか、複数のスクリーンセッションがある場合は「screen -r <pid>」を再接続できます。

注:sshが強制終了される前にリモートスクリーンセッションからデタッチするのを忘れた場合、スクリーンセッションはまだ接続されていると見なす可能性があります。この場合、最初にセッションを切断するには、「screen -dr <pid>」を実行する必要があります。


4
ちなみに、私が正しく覚えていれば、を押しCtrl+AてからDあなたがいるときscreenにスクリーンセッションをデタッチします。
デビッドZ

@Davidこれは正しいです。ターミナルまたはsshセッションを閉じるだけでも、画面は開いたままになります。「screen -raAd」が再アタッチされます。
クリス

リモートホストでスクリーンセッションを開始するにはどうすればよいですか?
愚かさ

15

nohupマシンからログアウトした後も実行を継続するプロセスを開始するために使用できます。それはあなたが探しているものかもしれません。


すでに実行中のプロセスの場合、^ Zを実行してdisownから、同等の効果であると思われるものを作成できます。 disown他のシェルで使用できる場合と使用できない場合があるバシズムです。
直観

+1 nohup。問題^Zは、プロセスを一時停止することです。プロセスをバックグラウンドにする方法はありませんが、問題なく実行し続けることができます。
10

6

でリモートセッションを解除screenすると、ラップトップを安全にシャットダウンできます。


切り離されるスクリーンセッションがリモートサーバー上にある必要があることが一般的に明らかであるかどうかはわかりません。
直観


2

nohupを使用します。VNCを使用する別の選択肢。サーバーでVNCセッションを作成します。その後、作業するたびに接続します。(長いプロセスが何らかのGUIを使用している場合(IDEなど)により便利です)


0

これらのサーバーにILO / DRAC /その他のリモートKVMなどがある場合、コンソールに接続してそこで操作できる場合があります。開始されたセッションは基本的にローカルなので、ラップトップから接続を切断しても何も起こりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.