サービス管理したい(systemctl

// サービス(ユニット)一覧
$ systemctl list-units --type service

// サービス詳細
$ systemctl status
$ systemctl status サービス名

// サービス状態
$ systemctl is-active|is-enabled|is-failed サービス名

// サービス制御
$ systemctl start|stop|restart|reload サービス名

systemctlはLinuxで使用するサービス管理コマンドです。 systemdデーモンを管理するコマンドで、 システム起動時にサービスを開始したり、 サービスの開始、停止、再起動、ステータスを確認したりできます。 また、システム全体のシャットダウンや再起動もできます。

注釈

少し古めのLinuxではserviceコマンドが使用できます。 /etc/init.d/に置かれたinitスクリプトを使って、 サービスの起動、停止、再起動、ステータスの確認ができます。 systemctlserviceで引数の順番が異なります。

$ service サービス名 status

現在は、多くのディストリビューションでsystemdが採用されるようになっていてsystemctlの使用が推奨されています。 serviceコマンドがsystemctlのラッパーになっている場合もあるみたいです。

Apacheしたい(httpd

$ systemctl status httpd
$ systemctl cat httpd
$ systemctl start|stop|restart|reload httpd

// ログ確認
$ journalctl -u httpd

// 設定ファイルの文法チェック
$ apachectl configtest
Syntax OK

RHEL系はhttpd、 Debian系はapache2というサービス名で Apacheサーバーを制御できます。

注釈

Apacheには本体の実行ファイル(httpd / apache)と、専用の管理スクリプト(apachectl)も存在します。

サービス制御にはsystemctlで十分ですが、 個別の制御にはapachectlなどを使うことができることを覚えておくとよいです。

たとえば、上記サンプルにある設定ファイルの文法チェックはapachectlのサブコマンドです。

SSHしたい(sshd

$ systemctl status sshd
$ systemctl restart sshd

sshdはOpenSSHのサーバー側のデーモンです。 サーバー側のsshdが起動していないと、SSH接続ができません。

// 設定ファイルの文法チェック
$ sshd -t

// 設定を確認
$ sshd -T
$ sshd -T | grep passwordauthentication