私はnohup
過去に大規模なバックグラウンドタスクを実行しましたが、多くの人が次のことを使用していることがわかりました。screen
この文脈で。screen
私が認識していない機能的な利点の一種を提供していますか、それとも単に好みの問題ですか?
ベストアンサー1
どちらにも独自の長所と短所があります。
北面:
- nohupは、Webサーバーや他の同様のサーバープロセスなど、プロセスにユーザー入力が必要ない場合はバックグラウンドでプロセスを実行するのに理想的です。
- nohup は、プロセスが実行されるディレクトリにログを生成します。ログファイル名は
nohup.out
。 - CtrlC無効な+または同様のキーの組み合わせがプロセスを終了するのを防ぎます。ただ保証です。
- 通常はデフォルト設定でデフォルトでインストールされます。スクリーンのように別々にインストールする必要はありません。
- その機能は、バックグラウンドでジョブを実行し、出力をダンプするのに非常に具体的です。メモリ集約度が低い。
画面:
- 別途設置が必要です。データセンターに行くか、ボックスにログインして画面が表示されることを期待することはできません。
- さまざまなテーマで複数の端末を管理し、名前を付けるのに効果的です。
- 無限の時間プロセスを実行するnohupのようなコマンドではなく、ターミナルマネージャに近いです。
- プロセスにユーザー入力が必要な場合に適しています。インストールスクリプトと同様に、はい/いいえプロンプトがあります。
- 多くの機能によってメモリが提供されます。しかし、一部の機能は本当にクールだということに同意します。
@rahmu、私はそれを殺そうとしたときにpidを推測しません。誰か/何かを殺す前に常に確認してください;)。
どちらの場合も、最良のアプローチはscreenとnohupです
ps -eaf | grep "nohup" | grep "your proc name/keyword"
。
画面を使用して、画面で何が実行されているかを確認します。
全体的に、それらは異なる議題を持つ2つの異なるので、比較は困難です。