banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

CentOS7では、SystemDを使用して起動時の自動起動とサービスの管理を実現しています。

CentOS7 では、SystemD を使用してサービスの自動起動を実現することができます。

SystemD は System Daemon の略で、Linux 上の一種の init ソフトウェアです。その開発目標は、システムサービス間の依存関係を表現するためのより優れたフレームワークを提供し、システムの初期化時にサービスの並列起動を実現し、同時にシェルのシステムオーバーヘッドを低減することです。

ここでは、以下のステップでサービスを起動することを想定しています。

# /usr/share/autostartup/foobar.sh

STEP1. SystemD で管理するための.service ファイルを作成します。

/usr/share/autostartup/foobar.service

以下はテスト用の.service ファイルであり、.service ファイルの具体的な記述方法については、systemd の関連ドキュメントを参照してください。

[Unit]
Description=foobar
Documentation=http://www.doc.com/doc.html
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/foobar
ExecStart=/usr/share/autostartup/foobar.sh
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=foobar
User=foobar
Group=foobar
Environment=
[Install]
WantedBy=multi-user.target

STEP2. 作成した.service ファイルを `/usr/lib/systemd/` の指定のディレクトリに移動します。ここではシステム起動時に実行する必要があるため、`/usr/lib/systemd/system/` に移動します。

cp /usr/share/autostartup/foobar.service /usr/lib/systemd/system/foobar.service

STEP3. 対応するサービスの設定と起動

# systemd の設定を再読み込み
systemctl daemon-reload

サービスを起動時に自動起動するように設定#

systemctl enable foobar.service

サービスを開始#

systemctl start foobar.service

サービスを停止#

systemctl stop foobar.service

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。