「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

svchost.exe

pointこの用語のポイント

pointDLL形式のサービスを動かすための実行ファイルだよ

point普通は「%systemroot%\system32\svchost.exe」にあるよ

スポンサーリンク

簡単に書くよ

svchost.exeとは

プログラムなファイル(実行ファイル)のひとつ
であり

DLL(プログラムを動かすときに合体させる、プログラムの部品ファイル)になっているWindowsのサービス(Windowsの常駐プログラム)を動かすためにある実行ファイル
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

DLL
サービス
実行ファイル


について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

DLLは、ざっくり書くと「プログラムの部品」です。
それ単体では動けません。
他のプログラムから呼び出されることによって、はじめてお仕事ができます。
Windowsの場合は、拡張子ファイルの種類を表す目印)が「.dll」になっているファイルです。

svchost.exe

サービスは「Windowsの常駐プログラム」です。
常にメモリ上にいて、いつでもお仕事ができるようにスタンバっています。
休みなんてありゃしない、常に戦闘態勢を維持することが求められているプログラムです。

svchost.exe2

実行ファイルは「プログラムファイル」です。
べちべちっ!とダブルクリックすると、お仕事を始めます。
(Windowsの場合)拡張子は「.exe」であることが多いです。

svchost.exe3

以上を踏まえて

DLL形式のサービスを動かすためにある実行ファイル

が「svchost.exe」です。

サービスとしてのお仕事をする役割のやつがDLLの中にいるのですね。
でも、DLLは自分では動けません。
他のプログラムから動かしてもらう必要があります。

そんな状況を踏まえて「仕方ないな~。じゃあ俺が動かしてやるよ。俺は実行ファイルだから自分で動けるしさ。俺に任せとけ!」と、DLL形式になっているサービスを動かすお仕事を買って出てくれたのが「svchost.exe」さんです。
面倒見の良いやつですね。

Windows 11を例に説明すると「svchost.exe」は以下の場所にあります。

%systemroot%\system32\svchost.exe

変な場所にある場合は、ご注意ください。
もしかして、もしかしたら、ウイルスかもしれません。
気になるようでしたら、念の為、ウイルススキャンをしてあげてください。

ちなみに「svchost.exe」さんは「レジストリ」と呼ばれているカンペを見て、どのサービスを動かすか判断します。

例えば

svchost.exe -k LocalService

という形で動かされた場合、レジストリの

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost

という場所に書いてある

LocalService

の項目を見ます。
そこに

「piyopiyo.dll」を動かしてね

と書いてあったら「piyopiyo.dll」の中にあるサービスを動かします。


image piyo2

一言でまとめるよ

まぁ「svchost.exe」って単語が出てきたら「DLL(プログラムを動かすときに合体させる、プログラムの部品ファイル)形式のサービス(Windowsの常駐プログラム)を動かすための実行ファイル(プログラムなファイル)なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像043
書籍画像064

おまけ

■訳してみるよ

「svc」は……何の略でしょうね。
「service(サービス)」の略なのか「supervisor call(スーパバイザ・コール)」の略なのか判断できませんでした。
「service(サービス)」はカタカナで「サービス」で分かりますよね。
「supervisor(スーパーバイザ)」の意味は「監視者」とか「監督者」とかです。
「call(コール)」の意味は「呼ぶ」とか「名前をつける」とか「電話をかける」とかです。
「host(ホスト)」の意味は「(お客さまをもてなす)主人」とか「主催者」とかです。
「exe(エグゼ)」は多分「execute(エグゼキュート)」か「execution(エグゼキューション)」か「executable(エグゼキュータブル)」の略です。
「execute(エグゼキュート)」の意味は「実行する」とかです。
「execution(エグゼキューション)」の意味は「実行」とかです。
「executable(エグゼキュータブル)」の意味は「実行できる」とかです。
何となく くっつけると

サービス(もしくは、監視者を呼ぶ)の主人.実行

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
つくって、壊して、直して学ぶ Kubernetes入門
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践