- systemdはSysVと下位互換性があります。
- 起動時にサービスを並行してロードします
- サービスのオンデマンドアクティベーションを提供します
- 依存関係に基づいています
- そして、もっともっと...
あなたが言及した以上のsystemctl
能力があります。
systemd
ユニットで動作し、異なるタイプのユニットがあります。ターゲット、サービス、ソケットなど。ターゲットはランレベルと同じ概念で、ユニットの集まりです。
systemctl
デフォルトのシステムターゲットを設定または取得するために使用できます。
systemctl get-default
他のターゲットに移動できます:
systemctl isolate multiuser.target
その他のターゲットは、マルチユーザー、グラフィカル、リキュー、緊急、再起動、電源オフです。
あなたが言ったように、あなたはsystemctl
サービスを管理するために使うことができます、私が知っているサービス管理に関連する他のコマンドのいくつかは:
# Restarts a service only if it is running.
systemctl try-restart name.service
# Reloads configuration if it's possible.
systemctl reload name.service
# try to reload but if it's not possible restarts the service
systemctl reload-or-restart name.service
これを使用して、サービスステータスについて調べることができます。
systemctl status name.service
systemctl is-active name.service # running
systemctl is-enabled name.service # will be activated when booting
systemctl is-failed name.service # failed to load
サービスをマスクまたはマスク解除できます。
systemctl mask name.service
systemctl unmask name.service
リンクされるサービスをマスクすると/dev/null
、手動または自動で他のサービスがアクティブ化/有効化できなくなります。(最初にマスクを解除する必要があります)。
systemctlのもう1つの使用法は、ユニットをリストすることです。
systemctl list-units
ロード済みおよびアクティブなすべての種類のユニットをリストします。
サービスユニットのリスト:
systemctl list-units --type=service
または、ロードおよびアクティブ化されたユニットだけでなく、使用可能なすべてのユニットをリストするには:
systemctl list-unit-files
エイリアスを作成したり、リモートマシンを制御することもできます
systemctl --host ravexina@192.168.56.4 list-units
一方service
、サービスを管理し、他の人々のビジネスとは何の関係もない、やらなければならないことを行います;)