ホーム / これらの12のsystemctlコマンドでLinuxのsystemdサービスを制御できます

これらの12のsystemctlコマンドでLinuxのsystemdサービスを制御できます

2024/12/08 5:30:15
systemdとsystemctlについての概要: systemdはLinuxのinitシステムで、systemctlはその管理ツールです。systemctlは単なるサービスランチャーではなく、systemdシステムとサービスに関する情報を提供します。多くのLinuxディストリビューションがsystemdを採用していますが、一部はSystemV initシステムを保持しています。systemctlを使用してサービスを起動、停止、調査、制御できます。ユニットファイルでサービスが定義され、systemctlのオプションを使用してサービスの状態を確認できます。
これらの12のsystemctlコマンドでLinuxのsystemdサービスを制御できます

systemctlコマンドとは何ですか?

systemctl コマンドは、systemd init システムの中心的な管理ツールであり、サービスを起動と停止するために使用される最も知られているツールです。しかし、その機能はそれほど単純ではありません。man ページが1600行以上あることを証明しています。systemctlは管理ツールであり、単なるサービスランチャーではありません。そのため、systemdシステムとサービスに関する有用な情報をアクセスできます。多くのLinuxディストリビューションはsystemdを採用していますが、一部は伝統的なSystemV initシステムを保持しました。どのスキームが使用されているのか uncertain な場合は、簡単に確認できます。initファイルを確認するためにstatコマンドを使用します。stat /sbin/ini実行ファイル /sbin/init は、SystemV ベースのディストリビューションで最初に起動されるプロセスです。systemd ベースのディストリビューションでは、同じ名前のシンボリックリンクが systemd ファイルを指します。出力の最初の行は、このUbuntuテストマシンで、/sbin/initが/lib/systemd/systemdファイルへのシンボリックリンクであることを示しています。単純に、このLinuxインストールはsystemdを使用しています。SystemVベースのディストリビューションであれば、この行は「File: /sbin/init」のみを含んでいます。

systemctlを使用してサービスを調査

サービスはユニットファイルで定義され、systemctlのオプション全体で単位という言葉が見られます。具体的な例として、--typeオプションを使用してlist-unitsコマンドでサービスのリストを取得できます。systemctl list-units --type=service出力は Less ファイルビューアーで表示され、出力をスクロールしたり、/キーで検索したりすることができます。
  • 単位: 単位ファイルの名前。
  • ロード: サービスのユニットファイルが記法エラーなくメモリに読み込まれている場合、この列には「ロード」が表示されます。これはサービスがアクティブであることを意味しません。
  • アクティブ: サービスがアクティブであるかどうかの高层次の概要。アクティブなサービスは実行中でない可能性があります。
  • サブ: サービスが実行されているかどうかのより粒度の高いビュー。例えば、アクティブなサービスはタイマーに合わせて動作し、最後の実行が終了している場合があります。
  • 説明: 文字列で、サービスを識別または説明するために使用する。
表示にはアクティブなサービスのみが含まれます。すべてのサービスを表示するには、--all オプションを含める必要があります。systemctl list-units --all --type=service

すべてを見るのは情報オーバーロードに似すぎると感じたら、--state オプションで出力をフィルタリングできます。

systemctl list-units --type=service --state=running状態オプションは実行中、停止、有効、無効、および失敗を受け入れます。

障害が発生したサービスに焦点を当て으려면、--failed オプションを使用します。

systemctl list-units --failedこのコンピュータには失敗したユニットはありません。サービスが失敗している場合は、list-dependencies オプションを使用して未解決の依存関係があるかどうかを確認してください。systemctl list-dependencies sshd.service依存関係には、その状態を表す色付きの円が付いています。それは次のようになります:
  • 白い丸: 非アクティブまたは保守中
  • 緑色のドット: 活動中。
  • 白点: 非活性化。
  • 赤いドット: 失敗またはエラー。
単一のサービスが有効かどうかを確認するには、is-enabled コマンドを使用し、サービスのユニットファイルの名前を指定します。g-example.service の有効化状態を確認する

systemctlを使用してサービスを制御

systemctlを使用してサービスを