SystemDは、ほとんどの最新のLinux分布で使用されるINITシステムです。システムサービスの開始、停止、および全体的なライフサイクルを管理します。 Sysvinitのような古いINITシステムとは異なり、SystemDは、より洗練された堅牢なアプローチを提供し、依存関係管理や並列サービススタートアップなどの機能を活用しています。 SystemDを使用したサービスの管理には、主に Systemctl
を使用することが含まれます。 SystemDユニット(サービス、ターゲット、その他のシステムコンポーネントを説明するファイル)の構造を理解することは、効果的な管理には不可欠です。これらのユニットは通常、/etc/systemd/system/
およびその他の関連ディレクトリにあります。ユニット自体は通常、単純な構成言語で記述されているため、比較的理解して変更しやすくなります。最後に、SystemDは堅牢なロギングメカニズムを提供し、古いINITシステムよりもトラブルシューティングをはるかに簡単にします。
Systemctl
です。サービスを管理するためのいくつかの一般的なコマンドは次のとおりです。 - state = running
を実行して実行中のサービスのみをフィルタリングすることができます。
いくつかのツールがトラブルシューティングに役立ちます。前述のことに、このコマンドは非常に重要です。起動時またはランタイム中に発生した場合のエラーメッセージなど、サービスの状態に関する情報を提供します。 「失敗した」または「非アクティブ(死んだ)」ステータスとその後のエラーメッセージに細心の注意を払ってください。
journalctl: journalctl
コマンドは、SystemDログを表示するための主要なツールです。サービス名、時間、およびその他の基準に基づいてログをフィルタリングできます。例:
journalctl -u< service_name>
:指定されたサービス専用のログを表示します。 -xe :サービスの最新のエラーメッセージを表示します。 journalctl -u< service_name> -f
:ログ出力をリアルタイムで追跡します。トラブルシューティング中にサービスの動作を観察するのに役立ちます。/etc/systemd/
にあるサービスユニットファイルを確認します。カスタムSystemDサービスには、サービスを説明するユニットファイルの作成が含まれます。これらのファイルには通常、 .service
拡張子があります。サービスファイルの基本的な例は次のとおりです。 <code class="ini"> [unit] description = my custom service after = network.target.TARGET.TYPE = MYUSER GROUP = MYGROUP execStart =/path/to/my/script.sh restArt = lateSec = 5 [インストール] wantseby = multi-user.target </code>
[ung]
セクション:その説明と依存関係を含むサービスに関するメタデータが含まれています。グループを実行し、ポリシーを再起動します。
[インストール]
セクション:このファイルを作成した後(グループを指定します。
systemctl daemon-reload
system enable mycustomservice
systemctl status mycustomservice
to/my/script.shsh 、 mygroursユーザーとグループを適切に設定することは、セキュリティに不可欠です。 <code> restart = altional
および restartsec = 5
オプションがクラッシュした場合に自動的に再起動することを確認し、再起動を試みる前に5秒待ってください。生産環境に展開する前に、常にカスタムサービスを徹底的にテストしてください。
以上がLinuxのSystemDを使用してシステムサービスを管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。