Linux共通

【Linux初心者向け】サービス管理コマンドsystemctlについて解説

こんばんわ、ミツです。

今回は「systemctl」コマンドについて解説していきます。

systemctl概要

サービスやターゲット等、各ユニットの管理はsystemctlコマンドによって行うことができます。

コマンド:systemctl

オプション

オプション 説明
-a(--all) 非アクティブ(inactive)なユニットも含めてロードされているユニットを全て表示する。
-l(--full) ユニット名等を省略しないで表示

サブコマンド

サブコマンド 説明
start ユニットを開始します
restart ユニットを再起動します
stop ユニットを停止します
status ユニットの状態を表示します
enable システム起動時にユニットを自動的に開始します
disable システム起動時にユニットを自動的に停止します
list-units アクティブな全てのユニットを表示します(サブコマンド省略中のコマンド)
list-unit-files インストールされている全てのユニットを表示します
cat ユニット設定ファイルの内容を表示します
edit ユニット設定ファイルの内容を新規編集します

実行例

それでは実行例を紹介していきます。

ユニットを指定するとき、ユニットタイプがserviceの場合はサフィックス「.service」は省略できます。

例えば「systemctl status httpd.service」は「.service」を省略し、「systemctl status httpd」として実行できます。

表示結果にはユニット状態が表示されています。詳細については下記となります。

・ユニット状態について

STATE 説明
enabled システム起動時にデフォルトでサービスを起動状態にします
disabled システム起動時にデフォルトでサービスを停止状態にします
static staticは他のユニットに依存するものを表しています。そのため単体で有効/無効が設定できないです。

起動しているユニットを表示します

「avtive(起動中)」のサービスが一覧表示されます。

ユニットを開始します

ユニットを開始させます。

ユニットを停止します

ユニットを停止させます。

ユニットを再起動します

ユニットを再起動することができます。

ユニットの状態を表示します

サービスを起動したり、停止したりした結果は「status」で確認できます。

ユニットをシステム起動時に起動するようにします

システム起動時に自動でユニットを起動させる際に利用します。自動起動が「disable」な状態から「enable」に変更すると下記のような結果になります。

ユニットをシステム起動時に停止している状態にします

システム起動時に自動でユニットを起動しない際に利用します。自動起動が「enable」な状態で「disable」に変更すると下記のような結果になります。

起動中のユニットをすべて表示します

起動中のユニットをすべて表示します。

「systemctl or systemctl list-units」 で起動中のサービスを表示し、その結果を標準入力として「grep」コマンドに渡し、「grep」コマンドで特定の文字列を検索します。

インストールされている全ユニットを表示します

インストールされている全ユニットを調べるには、「systemctl list-unit-files」を使用します。一覧表示で状態を確認できるので便利です。

また特定のサービスを調べたい場合は、「|(パイプ)」を利用し「grep」コマンドで調べられます。

grepコマンドについて過去執筆しましたので、興味がありましたらご覧ください

ユニットの設定ファイルの内容を表示します

「sshd」の設定を表示しています。ユニットの設定情報を確認するのに使用します。

ユニット設定ファイルの内容を新規編集します

ユニットの設定ファイルを変更するには「edit」サブコマンドを利用します。

実行すると、「vi」のようなエディッタ画面に移行します。今回の例では適当な文字列を追記します。何も記載しない場合は「ctrl」 + 「X」で閉じます。

変更後、再度「systemctl cat sshd」確認すると、文字列が追記されています。

まとめ

今回は以上となります。サービスを起動や停止する際に必須のコマンドになっております。サービスの状態を確認したり、接続できなかったら是非紹介したコマンドを利用して確認してみてください。

  • この記事を書いた人
  • 最新記事

ミツ

サーバ初心者向け「server-beginner」を運営する「ミツ」と申します。 Linux系やwindows系などのサーバに関する部分をメインで執筆していきますので、興味ある方はぜひご覧いただけますと幸いです。 <経歴> 専門学校卒業後、ネットワーク、インフラ、プログラミングを一通り経験。 当メディアでは主にLinux分野に関する内容を発信していきます。

-Linux共通