ログインしていないときにリモート端末でbashスクリプトを実行したままにしますか?


13

実行に数時間かかるbashスクリプトがあります。実行中に他のことをしたいのですが、ログアウトしたりインターネットから切断したりすることがあります(私のスクリプトではさまざまなコンピューターでネットワークテストを実行します)。

リモート端末からテストを実行し、実行中に端末からログアウトすることを可能にするコマンドがあることを私は理解しています。誰もがこのコマンドが何であるかを知っていますか?

ありがとう

回答:


15

あなたが探しているコマンドはnohupです。

画面もあります。これは、何かを実行したままにしておき、後で戻って対話式に再接続したい場合に使用します。

コマンドが起動後にユーザー入力を期待していない場合はnohupがより簡単で、対話的にプログラムを実行するのが賢明である場合はscreenが優れています。


私は今nohupを見ました、そして明らかにスクリプトがハングアップする原因となるかもしれない入力と出力に関する問題があります。私はまたスクリーンについての何かを見た、それは私が以前に読んだことがあるものとして私を打つ。あなたはこれらのどちらかを使う方法を知っていますか?
Ritwik Bose

1
nohupはスクリプトがユーザー入力を期待していないときのためのものです - それはファイルにすべての出力を保存します。画面は、何かを実行したままにしたいが、後で戻って対話式に再接続したい場合のためのものです。コマンドが起動後にユーザー入力を期待していない場合はnohupがより簡単で、対話的にプログラムを実行するのが賢明である場合はscreenが優れています。
Justin Smith

ああ、見つけました。 screenの場合、デタッチするのはCtrl + A dで、再アタッチするのは-r + pidです。
Ritwik Bose

いい答えです。あなたはそれがより際立っているようにあなたの答えに画面のコメントを追加する必要があります。
DaveParillo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.