インフラ系SEの技術メモ

雑なエンジニアが低信頼性のメモを書いています。参考程度にとどめてください。

(RHEL)サービスユニットとかソケットユニットとかの話

systemctlで操作するユニット群

一般的にサービスユニット周りを触りますが、他にもソケットユニットやバスユニットなどがあるのでそのあたりの整理です。

サービスユニット

一番よくみるユニットで、 .serviceという拡張子でシステムサービスを指します。
Webサーバーやsshdといった頻繁にアクセスされるデーモンを開始するために使用されるものです。

# systemctl list-units --type=service

で該当のサービスを見れます。

ソケットユニット

こちらは拡張子が.socketでsystemd の監視対象となるプロセス間通信ソケットです。
クライアント側からソケットに接続があればsystemdがデーモンを起動する流れなのが上との違い。

主に使用頻度の低いサービスをオンデマンドで起動する場合に使用されるとのこと。

以下で確認できます。

 systemctl list-units --type=socket --all

パスユニット

これは一番聞かないですよね。.pathという拡張子で特定のファイルシステムの変更が発生するまでサービスをアクティブ化させない時に利用します。主に印刷システムなどのスプールディレクトリを使用するサービスに使用されるんだとか。

ちなみにこのディレクトリは一時的にデータを書き出すまさにプールのような役割として利用します。

終わりに

拡張子なんて意識せずに利用していますがこのあたりのすみわけも頭の片隅に入れておきます。

$ systemctl status hoge