SSH切断後にプログラムを実行し続ける方法は?[複製]


15

可能性のある重複:
コンソールを閉じた後、プログラムの起動後にプログラムを実行し続ける
sshを使用してリモートUnixマシンでコマンドを実行し、コマンドが完了する前に終了するにはどうすればよいですか?

こんにちは!

リモートサーバーへのSSH接続により、ノートブックからプログラムを実行したい。問題は、ノートブックを持って帰宅することです:)

プログラムを実行し続ける方法は?

回答:


22

「スクリーン」はおそらくあなたが望むものです。自由に切断および再接続できます。サーバーにSSH接続した後、プログラムを開始する前に画面を実行します。Ctrl-a、Ctrl-dは接続を切断します(プログラムは続行します)。戻ったとき、「screen -r」は、一度も離れたことがないかのように再接続します。

テキスト端末用のVNCまたはRDPと考えてください。多くのチュートリアルについては、「スクリーンの使用」を検索してください。

追加して編集:最近では、特にスクリプトtmxと組み合わせて使用​​する場合は、代わりにtmuxをお勧めします。ペインを(垂直および水平に)分割してサイズを変更する機能は、画面上で大きな恩恵を受けます。


5
ちなみに、まだ接続している間に接続がタイムアウトしたり、そのような何かが発生した場合、画面は動作し続けます。いくつかの便利なコマンド:ctrl + a、ctrl + d =画面からデタッチ、screen -r =画面に再アタッチ、screen -x =共有モードで画面にアタッチ(ティーチングなどに使用でき、2人のユーザーが共有可能同じ画面)、ctrl + a、esc =スクロールモードに入ります(qを押して再度終了します)。注:「screen program」と入力して画面を起動すると、すぐに画面内のプログラムが起動しますが、終了するとバッファーが失われます。「スクリーン」と入力するだけで、永続的な端末が表示されます。

クリス、また役に立つ答えのためのtnx。

18

nohup 別のコマンドを実行し、「ハングアップ」シグナルの影響を受けないようにするコマンドです。

次のように簡単に実行できます。

nohup command

ただし、stdin、stdout、stderrもリダイレクトする必要があります。詳細については、manページを参照してください。

また、おそらくバックグラウンドに配置する必要があります。

またkill、最終的にそれを殺すためにコマンドを知る必要があります。


はい、たくさんあります!とても簡単))

これは私が使用するものです。とても簡単です。teestdin、stdout、およびstderrのリダイレクトに使用します。
リトウィックボーズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.