systemdでのサービス制御・超基本編
Red Hat Enterprise Linux 7(やCentOS 7など)で導入されたsystemdで、サービスの開始/停止やシステム起動後の自動起動などを設定する手順メモ。
systemdでは、「systemctl」というコマンドでサービスの制御を行う。サービスを開始/停止するには「start」および「stop」サブコマンドを使用する。また、「status」サブコマンドで稼働状況をチェックできる。
systemctl start <サービス名> systemctl stop <サービス名> systemctl status <サービス名>
システムの起動時にサービスを自動起動させるには「enable」サブコマンドを、自動起動させないように設定するには「disable」サブコマンドを使う。
systemctl enable <サービス名> systemctl disable <サービス名>
稼働中のサービスの確認は、「list-units」サブコマンドで行える。サブコマンドを省略すると「list-units」サブコマンドが実行されるので、引数無しでsystemctlコマンドを実行しても同じ結果が得られる。
# systemctl UNIT LOAD ACTIVE SUB DESCRIPTION proc-sys...t_misc.automount loaded active waiting Arbitrary Executable File Fo sys-devi...-sda-sda1.device loaded active plugged VBOX_HARDDISK : :
このうち、「.service」で終わっているものがサービスとなる。また、「-t service」オプション付きでsystemctlコマンドを実行することでサービスのみを一覧表示できる。
$ systemctl -t service
また、「list-units」サブコマンドでは「disabled」に設定されているサービスは表示されない。これらも含めて確認するには、「list-unit-files」サブコマンドを実行する。
$ systemctl list-unit-files