mariadb を例として、systemctl コマンド セットを使用してサービスを自動的に開始するように設定する方法を紹介します。
1.systemd の概要
systemd はシステム デーモンであり、Linux 上の初期化ソフトウェアであり、Lennart Poettering によって開発され、LGPL 2.1 およびその以降のバージョン ライセンスの下でオープン ソースとしてリリースされています。開発目標は、システム サービス間の依存関係を表現するためのより良いフレームワークを提供し、次のことを実現することです。システムの初期化中にサービスを並行して起動し、同時にシェルのシステム オーバーヘッドを削減する効果を達成し、最終的に一般的に使用される System V および BSD スタイルの init プログラムを置き換えます。
Systemd は Linux でバックグラウンド サービスを管理するために使用されます。サービスファイルを設定することで、起動時に特定のサービスを自動的に開始するという目的を達成できます。systemctl などのコマンド セットを使用して、サービスを自動的に開始するか、手動で開始または停止するかを制御できます。この記事では、自己起動の実装方法を簡単に説明し、いくつかの基本的なコマンドを紹介します。
2、systemctl コマンドはよく使用されるコマンドを設定します
- サービスステータスの表示
systemctl status xxx.service
- サービスの自動起動を有効にする
systemctl enable xxx.service # 重启后生效
- サービスの開始をキャンセルする
systemctl disable xxx.service # 重启后生效
- サービスを手動で開始する
systemctl start xxx.service
- サービスを手動で停止する
systemctl stop xxx.service
3. mariadb の自己起動を例に挙げます。
ここでは Mariadb サーバーを例として、redhat7 システムに mariadb をインストールした後、起動時に自動的に起動するように設定したいと思います。
ここではrootユーザーで実行するように切り替えず、自分のユーザーで操作しています。
mariadb のサービス状態を確認すると、無効になっていることがわかります。
[hubing@192 ~]$ systemctl status mariadb.service
mariadb の自動起動を有効にした後、ステータスを再度確認すると、有効になっていることがわかります。
[hubing@192 ~]$ systemctl enabled mariadb.service
有効にするには再起動する必要があります。再起動して、ステータスをもう一度確認してください。再起動後、Maridb のサービスが自己起動を完了し、実行状態になっていることがわかります。
4. 詳しい説明
systemctl を使用して systemd サービスとユニットを管理する方法については、このチュートリアルを参照してください:
Systemctl を使用して Systemd サービスとユニットを管理する方法
Red Hat の公式ドキュメントでは systemd が紹介されています:
第 10 章 systemd によるサービスの管理