/etc/init.d/XXスクリプトから派生した「サービス」とsystemd包装紙そのために作成されます。どのランレベルでも自動的に開始されず、実行中はどのリストにも表示されませんsystemctl --all
。systemctl 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
おそらくそれが理由でしょう。
systemd
init.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>