この記事はWindows & Microsoft技術 基礎 Advent Calendar 2015の8日目の記事です。
スタブです。クリスマスまでにはなんとかします。。。
Windowsサービスは、Windowsが管理する常駐プロセスです。常駐プロセスの起動・終了はユーザーの指示によって行うこと(手動)も、Windowsの起動・終了に合わせて行うこと(自動)もできます。LinuxなどのUnix系OSで言えば「デーモン」が近い存在です。
管理方法(登録、削除、起動、停止)
サービス制御マネージャ
sc.exe
PowerShellのコマンドレット(Microsoft.PowerShell.Management モジュール)
DSC Service Resource
WMI
作成方法
アンマネージド
advapi32.libを参照、winsvc.hをインクルード
OpenSCManager関数、CreateService関数
マネージド
ドトネト標準 System.ServiceProcess
名前空間 (InstallUtil.exeもあわせて説明)
TopShelf ( http://topshelf-project.com/ )( https://github.com/Topshelf/Topshelf )
特殊なサービス: svchost.exe
- タスクマネージャーで確認
- Process Explorerで確認
サービスアカウント
ビルトイン・アカウント
- SYSTEM
- LOCAL SERVICE
- NETWORK SERVICE