Systemctlコマンド:Linuxでサービスを再起動、リロード、停止する

現代のLinuxディストリビューションでは、systemdをinitシステムとして使用しており、サービスの管理は一般的にsystemctlコマンドを使用して行われます。ウェブサーバーを維持する管理者であれ、アプリケーションの変更をテストする開発者であれ、サービスを再起動、リロード、停止する方法を理解することは不可欠です。

この記事では、最も一般的なsystemctlコマンドを実用的な例とともに解説します。

 systemctlとは何ですか?

systemctlは、systemdシステムおよびサービスマネージャを制御するためのコマンドラインユーティリティです。これを使用すると、システム上のサービスを開始、停止、再起動、リロード、有効化、無効化、監視することができます。

1. サービスの再起動

これは、サービスを完全に停止してから再起動する場合に使用します。設定変更を行った後や、サービスが応答しなくなったときに便利です。

構文:

sudo systemctl restart <service-name>

例:

sudo systemctl restart nginx
これにより、更新された設定でNGINXウェブサーバーが停止して再起動します。

 2. サービスのリロード

reloadは、サービスにプロセス全体を再起動せずに設定をリロードするよう指示します。すべてのサービスがこれをサポートしているわけではありません。

構文:

sudo systemctl reload <service-name>

例:

sudo systemctl reload apache2
Apacheは、アクティブな接続を中断することなく設定をリロードします。

ヒント:

サービスがリロードをサポートしているかどうかを確認できます:

systemctl show <service-name> | grep CanReload

3. サービスの停止

このコマンドを使用して、実行中のサービスを終了します。手動で再起動するか、システムを再起動するまで非アクティブのままになります(ブート時に有効にされていない限り)。

構文:

sudo systemctl stop <service-name>

例:

sudo systemctl stop mysql
これにより、MySQLデータベースサーバーが停止します。

結論

systemctlコマンドのrestartreloadstopをマスターすることは、Linuxでサービスを効率的に管理するための鍵です。これにより、更新を適用し、問題を修正し、システムの動作を正確に制御できます。

変更を確認することを常に忘れないでください:

systemctl status <service-name>