回答:
アプリケーションとサービスの両方にプロセスが関連付けられています。
アプリケーションがある、あなたがデスクトップ上と対話するプログラム。これは、ほとんどすべての時間をコンピューターで使用するものです。Internet Explorer、Microsoft Word、iTunes、Skype-これらはすべてアプリケーションです。
プロセスは、ある特定の実行可能ファイルのインスタンス(.exe
プログラムファイル)ランニング。特定のアプリケーションでは、複数のプロセスが同時に実行されている場合があります。たとえば、google chromeなどの一部の最新のブラウザーは、複数のプロセスを一度に実行し、各タブは実際には同じ実行可能ファイルの個別のインスタンス/プロセスです。場合によっては、複雑なアプリケーションに複数のプロセスがある場合があります。たとえば、Visual StudioはIDEを表示するときからコードをコンパイルするときに別のプロセスを実行します。ただし、ほとんどの場合、特定のアプリケーションは単一のプロセスから実行されます。たとえば、開いているMicrosoft Wordウィンドウの数に関係なく、winword.exe
実行されるインスタンスは1つだけです。
サービスがあり、バックグラウンドで実行されるプロセスとデスクトップと相互作用しません。Windowsでは、サービスはほとんど常にsvchost.exe
プロセスのインスタンス、Windowsサービスホストプロセスとして実行されます。ただし、これには例外があります。
プロセスは、デスクトップと対話せずに、サービスとしてインストールされずにバックグラウンドで実行される場合があります。機能強化された多くのデバイスドライバーがこれを行います。たとえば、タッチパッドドライバーには通常、ユーザーがログインしてタッチパッドの特別な機能を処理するときに実行されるプロセスがありますが、サービスではなく、ユーザーにウィンドウを表示しません。
アプリケーションが特定のサービスに依存する場合があります。任意のプログラムから印刷するには、印刷スプーラーサービスがアクティブになっている必要があります。インストールパッケージ(.msi
インストーラー)では、Windowsインストーラーサービスが実行されている必要があります。アンチウイルスプログラムは通常、ユーザーがログインしていなくても実行を継続できるようにサービスを採用しています。
通常、プロセスはアプリケーションが閉じられると終了しますが、常にそうであるとは限りません。一部のプログラム、特にダウンロードおよびバックアッププログラムは、ウィンドウを表示せずにバックグラウンドで実行し続ける場合があります。アンチウイルスもこの例です。サービスの使用に加えて、多くのウイルス対策アプリケーションは、アクションが必要なときにのみユーザーにアプリケーションを表示するプロセスをバックグラウンドでサイレントに実行します。
アプリケーションとサービスは両方ともプロセスです。サービスはシステム全体で機能しますが、ユーザーと直接対話するのではなく、アプリケーションは単一のユーザーと対話します。
svchost.exe
、実行するWindows以外のサービスはあまり見ていません。Sysinternalのプロセスエクスプローラーを使用して、サービスMMCコンソールのどのサービスが特定のでホストされているかを判断できることに注意してくださいsvchost.exe
。