web-dev-qa-db-ja.com

アプリケーション、プロセス、およびサービスの違いは何ですか?

Windowsでこれらの根本的に異なる「もの」はどう違いますか?

実行中のすべてのものがプロセスではないのですか?

すべてのアプリケーションには、シャットダウンされた場合にそれをシャットダウンする関連プロセスがあります。 1つのプロセスで複数のアプリケーションインスタンスを管理できます。そして、サービス、私は彼らが何であるかさえ正確にはわかりません。

彼らは自分自身を処理していませんか?

46
Justin L.

アプリケーションとサービスの両方には、それらに関連付けられたプロセスがあります。

applicationは、デスクトップ上で操作するプログラムです。これはあなたがコンピュータで使っている時間のほとんどすべてを費やすものです。 Internet Explorer、Microsoft Word、iTunes、skype - それらはすべてアプリケーションです。

processは、実行中の特定の実行可能ファイルのインスタンスです.exeプログラムファイル)。特定のアプリケーションでは、複数のプロセスが同時に実行されている可能性があります。たとえば、google chromeなどの最近のブラウザでは、一度に複数のプロセスを実行します。各タブは実際には同じ実行可能ファイルの個別のインスタンス/プロセスです。場合によっては、複雑なアプリケーションに複数のプロセスがあります。たとえば、Visual Studioは、IDEが表示されているときからコードをコンパイルするときに別のプロセスを実行します。ただし、ほとんどの場合、特定のアプリケーションは単一のプロセスから実行されています。たとえば、開いているMicrosoft Wordウィンドウの数にかかわらず、winword.exeのインスタンスは1つだけ実行されています。

serviceプロセスで、バックグラウンドで実行され、デスクトップと対話しません。 Windowsでは、サービスはほとんどの場合、svchost.exeプロセスのインスタンス、windowsサービスのHostプロセスとして実行されます。ただし、これには例外があります。

時々、プロセスはデスクトップとやり取りせずにバックグラウンドで実行されますが、サービスとしてインストールされることはありません。拡張機能を持つ多くのデバイスドライバがこれを行います。たとえば、タッチパッドドライバは通常、ユーザーがログインしてタッチパッドの特別な機能を処理するときに実行されるプロセスを持ちますが、サービスではなく、ユーザーにウィンドウを表示しません。

時々アプリケーションは特定のサービスに依存するかもしれません。任意のプログラムから印刷するには、印刷スプーラサービスがアクティブになっている必要があります。インストールパッケージ(.msiinstallers)では、Windowsインストーラサービスが実行されている必要があります。ウイルス対策プログラムは通常サービスを使用するため、ユーザーがログインしていなくても実行を継続できます。

通常、プロセスはアプリケーションが閉じられると終了しますが、これは必ずしもそうとは限りません。一部のプログラム、特にダウンロードおよびバックアッププログラムは、ウィンドウを表示せずにバックグラウンドで実行を続けます。アンチウイルスもその一例です。サービスを使用するだけでなく、多くのアンチウイルスアプリケーションはバックグラウンドでプロセスをサイレントに実行し、アクションが必要な場合にのみアプリケーションをユーザーに表示します。

70
nhinkle

アプリケーションとサービスはどちらもプロセスです。アプリケーションは単一のユーザーと対話するためのものですが、サービスはシステム全体で機能しますが、ユーザーと直接対話することはありません。

サービスは通常、Windowsの起動時に実行されるバックグラウンドアプリケーションです。通常、インストールされているアプリケーションまたはWindows自体が使用するタスクを実行します。

スタンドアロンアプリケーションは、通常のプログラム(.exe)です。 スタンドアロンは通常、単独で実行できる単一の実行可能ファイルを指します。

Wordのような大規模なプログラムでは、実行するためにさまざまなファイルが必要です。

1
Enamul Kabir