systemctlは、利用可能なすべてのサービス(無効化を含む)を一覧表示します。

systemctlは、利用可能なすべてのサービス(無効化を含む)を一覧表示します。

/etc/init.d/XXスクリプトから派生した「サービス」とsystemd包装紙そのために作成されます。どのランレベルでも自動的に開始されず、実行中はどのリストにも表示されませんsystemctl --allsystemctl list-unit-files --all

私の直感は、依存関係がなく、まだ起動されていないため、systemdに「ロード」されていないので(したがってアクティブになっていないかロードされていない)、systemdがそれをリストしないことです。

得る方法はありますか?いっぱいまだ開始されていない、または自動的に開始されていないサービスを含むすべての可能なサービスのリストがありますか?それともsystemctl searchそれに対応することをしますか?

これは関連しています質問起動時に試すサービスのリストのみをリクエストしてください。

これman ページsystemctl「--all」の下に話してください

システムにインストールされているすべてのデバイスを一覧表示するには、list-unit-files コマンドを使用します。

ただし、これらの無効なデバイスは出力に表示されませんlist-unit-files

答え1

まあ、私は「システムの人々」に尋ね、彼らはマンページにそのように出ているにもかかわらず、以前のバージョンではこれらのすべてがリストされていないと言いました。

   -a, --all
       When listing units, show all loaded units, regardless of their
       state, including inactive units. When showing unit/job/manager
       properties, show all properties regardless whether they are set or
       not.

       To list all units installed on the system, use the list-unit-files
       command instead.

systemd 219上記のほとんどの機能は、実際には「マイ」バージョンのsystemd(CentOS 6)では実装されていないようです。しかし、バージョン1のあるDebian 9の最新のsystemctlバージョンでは修正されているようです。systemd 232おそらくそれが理由でしょう。

systemdinit.dスクリプトを使用している場合は、以前のバージョン(状態、開始、停止)のように制御できます。するランレベルを指定してもすべてのディレクトリに存在しない場合/etc/rc?.d(lachkconfig --del my_serviceまたはそれに対応するエントリ、またはsystemctl disable my_service最初chkconfigに実行されていない場合)、以前のバージョンのsystemdではなどをsystemd-sysv-generator実行してもリストに表示されません。中間] [2]。systemctl list-units --allうまく動作し、まだ制御可能ですが。または、通常のサービスですが無効になっている場合はまだ機能しますが、どのリストにも表示されないようです。

引用: https://lists.freedesktop.org/archives/systemd-devel/2019-May/042555.html

答え2

実行中、アクティブ、または失敗したシステムにロードされたすべてのサービスを一覧表示します。

# sudo systemctl list-units --type=service --all

システムで無効になっているすべてのサービスを一覧表示します。

# sudo systemctl list-unit-files --type=service --state=disabled

システムで有効になっているすべてのサービスを一覧表示します。

# sudo systemctl list-unit-files --type=service --state=enabled

システムにロードされているすべてのアクティブサービスを一覧表示します。

# sudo systemctl list-units --type=service --state=active

システムで実行されている状態でロードされた各サービスを一覧表示します。 これは私が一番好きな命令です。

# sudo systemctl list-units --type=service --state=running

障害状態のシステムにロードされたすべてのサービスを一覧表示します。

# sudo systemctl list-units --type=service --state=failed

シャットダウン状態のシステムにロードされたすべてのサービスを一覧表示します。

# sudo systemctl list-units --type=service --state=exited

答え3

このコマンドをrootとして実行していますか?私はlist-unit-filesコマンドがまさにあなたが探しているものだと思います。ロードされたサービスのリストだけでなく、ユニットファイルも一覧表示されます。サービスの設定方法に問題があると考えているようです。

まず、ダミーサービスを作成して登録されていることを確認してください。実際に何もしないこと。サービスが機能し始めると、機能しないサービスとどのように異なるかを確認できます。または、サービス単位ファイルを実行している単純なサービスと比較してみてください。

答え4

次のための素晴らしいTUI systemctl

joehillen/sysz: systemctl 用 fzf ターミナル UI

富士systemctl用端末UI

取付ける:

wget -O ~/.bin/sysz https://github.com/joehillen/sysz/releases/latest/download/sysz
chmod +x ~/.bin/sysz

使用法:sysz <other systemctl args as you wish>

関連情報