GNU/Linux >> Linux の 問題 >  >> Linux

Linuxsystemdに新しいサービスを追加する

System Vは徐々に段階的に廃止されているため、はるかに強力なSYSTEMDをうまく利用する方法を学ぶ必要があります。たとえば、便利な機能の1つは、自動的に停止するサービスを自動的に再起動することです。このような機能は、たとえばBluePillなどにあります。Systemdでは、このような追加のウォッチドッグを使用する必要はありません。 LinuxのSystemdで「unit」と呼ばれる新しいサービスを作成する方法に関する非常に基本的な情報を次に示します。
Systemdの構成ファイルは/etc / systemd /にあります。
この例では、 istatdという単純なサービスのSystemd構成ファイルを作成します。 次のコマンドで単一のデーモンを起動する必要があります: / usr / local / bin / istatd -d
rootのみが操作できるサービスを作成するには、その新しい構成ファイルを次のように作成する必要があります: /etc/systemd/system/istatd.service
touch /etc/systemd/system/istatd.service
chmod 644 /etc/systemd/system/istatd.service

コンテンツ:
[Unit]
Description=IStad iPhone monitoring service
#
[Service]
Type=forking
ExecStart=/usr/local/bin/istatd -d
ExecStop=/usr/bin/killall istatd
Restart=on-failure
RestartSec=3
#
[Install]
WantedBy=default.target

ユニットのこの構成ファイルistatd デーモンを開始/停止し、プロセスリストからの消失がウォッチドッグによって検出されてから3秒後にデーモンが自動的に停止した場合は、デーモンを再起動します。
新しい構成をアクティブにして、サービスの実行を開始するには:
systemctl daemon-reload
service istatd start

start / stop / restart/statusおよびデバッグに使用できるコマンドは次のとおりです。
systemctl {start|stop|restart|status} istatd
OR
service istatd {start|stop|restart|status}

Systemdデバッグの場合は、次のコマンドを使用します:
journalctl -xn
Systemd構成ファイルに変更を加えた後は、次のコマンドを実行する必要があります。
systemctl enable istatd
systemctl daemon-reload

Systemdの動作と構成ファイルの作成方法の詳細については、
http://patrakov.blogspot.de/2011/01/writing-systemd-service-files.html
およびhttps://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Unit_Files.html

その他の便利なコマンド:

サービスを完全に削除する:
systemctl stop [servicename]
systemctl disable [servicename]
systemctl daemon-reload
systemctl reset-failed


Linux
  1. Linux OS サービス「ネットワーク」

  2. Linux OS サービス「ポートマップ」

  3. Linux OS サービス「auditd」

  1. Linux OS サービス「nfs」

  2. Linux OS サービス「microcode_ctl」

  3. Linux OS サービス「hplip」

  1. LinuxでSystemdサービスを作成する方法

  2. Linux – Fsckスクリプトの場所?

  3. LinuxでSystemdサービスを一覧表示する方法