Ubuntuで実行されているデーモン、プロセス、およびサービスの動作の違いは何かを知りたいです。
デーモン-デーモンはnotを表しますディスクおよび実行モニター( http://www.takeourword.com/TOW146/page4.html )。これらはバックグラウンドで実行されるプロセスであり、インタラクティブではありません。制御端末はありません。
事前定義された時間に、または特定のイベントに応じて特定のアクションを実行します。 * NIXでは、デーモンの名前はdで終わります。
Services-Windowsでは、デーモンはservicesと呼ばれます。
* NIXにserviceという名前のコマンドがある理由がわからない場合は、initスクリプトの実行にのみ使用されます(initialization scriptrunlevel)。
Process-プロセスは実行中のプログラムです。特定の時点では、running、sleeping、またはzombie(プロセスを完了しましたが、親プロセスが戻り値を取得するのを待っています)。
ソースと詳細情報:
デーモンは背景、非対話型プログラムです。キーボードから切り離され、対話型ユーザーのディスプレイに表示されます。バックグラウンドプログラムを表すWordデーモンは、Unix文化に由来します。それは普遍的ではありません。
serviceはprogramであり、プロセス間通信メカニズム(通常はネットワーク経由)を介して他のプログラムからの要求に応答します。 サービスはサーバーが提供するものです。たとえば、NFSポートマッピングサービスは、portmapd
デーモンとして実装される別個のportmapサービスとして提供されます。
サービスはデーモンである必要はありませんが、通常はデーモンです。 GUIを備えたユーザーアプリケーションには、たとえばファイル共有アプリケーションなどのサービスを組み込むことができます。別の例としては、X Windowサービスがあります。これは、バックグラウンド以外のものです。画面、キーボード、およびポインティングデバイスを引き継ぎます。これは、ネットワーク上の他の場所にあるアプリケーションからの要求(ウィンドウの作成や操作など)に応答するため、サービスです。ただし、Xサービスは、すべてのキーストロークとマウスの動きにも応答します。
プロセスは1つまたは複数の実行スレッドリソースの共有セットを持ち、最も重要なものはアドレススペースとオープンファイル記述子です。プロセスは、これらの実行スレッド用の環境を作成します。これらの環境は、マシン全体を所有しているように見えます。これは仮想マシンです。
プロセス内では、他のプロセスおよびカーネルのリソースは見えず、直接アクセスできません(少なくともユーザー空間コードを実行しているスレッドからは)。たとえば、別のプロセスの開いているファイル、またはそれらのメモリ空間を参照する方法はありません。それはあたかもそれらが存在しないかのようです。
プロセス、およびカーネルと他のプロセスとの関係は、おそらくUnixライクなオペレーティングシステムで最も重要な抽象化を構成します。システムのリソースはプロセスに区分されており、ほぼすべてが1つのプロセス内で発生していると理解されています。