web-dev-qa-db-ja.com

SSH切断後もプログラムを実行し続ける方法は?

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

こんにちは!

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

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

15
Max

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

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

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

22
Chris

Nohupは、別のコマンドを実行し、「ハングアップ」信号の影響を受けないようにするコマンドです。

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

Nohup command

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

また、おそらくそれをバックグラウンドに置きたいと思うでしょう。

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

18
Oddthinking