PuTTYを使用してリモートサーバーに接続しています。私が知りたいのは、PuTTYとのセッションを閉じた後でも、コマンドを記述して実行を続ける方法があるかどうかです。これは、常にコンピュータの電源を入れたままにしたくないからです。これを行う方法はありますか?.
ソリューションで更新
提示されている私の質問については、追加のソフトウェアをインストールする必要がないため、Nohupなどの提供されたコマンドの1つを使用することが最善の解決策です。ただし、同じ問題使用画面が表示されている場合は、インストールして使用してください。すごいです。
コマンドとscreenを使用していくつかのソリューションを提案するため、私はNorman Ramseyの回答をお気に入りとして選択しました。ただし、他の回答、特にPEZの回答を確認してください。そうすると、どの画面で実行できるかがわかります。
Nohup
、disown
、およびscreen
はすべて適切ですが、他の2つとは異なり、screen
は切断できるため、screen
が最適ですリモートサーバーからすべてを実行したままにし、後で再接続して何が起こっているかを確認します。 Nohup
およびdisown
を使用すると、対話を再開することはできません。
screen!スライスされたパン以来、これは最高のものです。 (ええ、私は他の人がすでにそれを提案していることを知っていますが、それは全世界が参加してそれを提案するのもとても良いことです。)
画面は、ummmmのようなものです... GUIデストップに接続するためにVNCなどを使用するようなものですが、コマンドシェルウィンドウ用です。同じスクリーンセッションで一度に複数のシェル「ウィンドウ」を開くことができます。次のようなことができます:
まるで魔法のようです。私は覚えているよりも長い間画面を使用してきましたが、それでもそれがどれほど流血であるかに驚いています。
[〜#〜] edit [〜#〜]:ただ今述べたこともありますtmux。 screenと非常によく似ていますが、いくつかのユニークな機能があり、ウィンドウを分割することが最も重要です。
GNU Screen を使用してみてください。一度に複数のシェルを開くことができます。そして、それらの実行中のシェルから切断することができ(つまり、PuTTYとのセッションを閉じる)、それらは引き続き機能します。
あなたが探しているのは Nohup です。
使い方はwikiリンクを参照してください。
画面が最高です。
試してください:
screen -dmS "MyTail" tail -f/var/log/syslog
この開始コマンドはバックグラウンドで実行されます。
リストするにはscreen -rを使用し、セッションに入るにはscreen -r Mytailを使用します。
より多くのユーザーが同じセッションにアクセスする必要がある場合は、screen -rx MyTailを使用し、両方のユーザーがセッションを共有します。
screen
を使用できない場合(たとえば、SSHセッションがプログラムによって駆動されているため)、 daemonize を使用してプログラムをデーモンとして実行することもできます。
私にとってうまくいく1つの方法は、at
です。
at
はcronのように機能しますが、1回限りのジョブです。今日はそれを使用して、セッションを存続させる必要なしに大きなファイルをダウンロードしました。
例えば:
$ at 23:55
at> wget http://file.to.download.com/bigfile.iso
at> ^D
(将来的に)at
を渡すと、プロンプトが表示されます。そのときに実行したいコマンドを入力し、Ctrl + Dを押します。セッションを終了すると、指定した時間にコマンドが実行されます。
Wikipedia にはat
に関する詳細があります。
./command & disown
ssh localhost && ./command && exit