web-dev-qa-db-ja.com

--status-allサービスがこの稼働中のサービスをリストしないのはなぜですか?

私はLinuxシステム管理には絶対に関与していません(私はソフトウェア開発者です)。サービスについて次の質問があります。

buntu 18.04.2 LTSマシンには、サービスとしてソフトウェアがインストールされています。シェルでこのステートメントを実行して実行できることを意味します。

Sudo service wso2ei start

そして、私はサービス構成ファイルを次の場所に持っています:

/etc/systemd/system/wso2ei.service

次のようなものが含まれています:

[Unit]
Description=WSO2EI

After=syslog.target
After=network.target

[Service]
Type=simple
WorkingDirectory=/usr/lib/wso2/wso2ei/6.4.0
User=root
Group=nogroup
Environment=Java_HOME=/usr/lib/wso2/wso2ei/6.4.0/jdk/jdk1.8.0_192
Environment=CARBON_HOME=/usr/lib/wso2/wso2ei/6.4.0

StandardOutput=syslog
StandardError=syslog

ExecStart=/usr/lib/wso2/wso2ei/6.4.0/bin/integrator.sh
ExecStop=/usr/lib/wso2/wso2ei/6.4.0/integrator.sh stop

#TimeoutSec=130

[Install]
WantedBy=multi-user.target

それは正常に動作しており、次のステートメントでサービスを開始および停止できます。

Sudo service wso2ei start

そして

Sudo service wso2ei stopt

したがって、このサービスは正常に動作しています...しかし...この文ですべてのサービスを一覧表示しようとしました:

service --status-all

wso2eiサービスが出力リストにあると予想していましたが、ありません!!!

これは私の出力です:

$ Sudo service --status-all
 [ - ]  acpid
 [ + ]  apparmor
 [ + ]  apport
 [ + ]  atd
 [ + ]  cntlm
 [ - ]  console-setup.sh
 [ + ]  cron
 [ - ]  cryptdisks
 [ - ]  cryptdisks-early
 [ + ]  dbus
 [ + ]  ebtables
 [ + ]  grub-common
 [ - ]  hwclock.sh
 [ + ]  irqbalance
 [ + ]  iscsid
 [ - ]  keyboard-setup.sh
 [ + ]  kmod
 [ - ]  lvm2
 [ + ]  lvm2-lvmetad
 [ + ]  lvm2-lvmpolld
 [ + ]  lxcfs
 [ - ]  lxd
 [ - ]  mdadm
 [ - ]  mdadm-waitidle
 [ - ]  ntp
 [ - ]  open-iscsi
 [ - ]  open-vm-tools
 [ - ]  plymouth
 [ - ]  plymouth-log
 [ + ]  procps
 [ - ]  rsync
 [ + ]  rsyslog
 [ - ]  screen-cleanup
 [ + ]  ssh
 [ + ]  udev
 [ - ]  ufw
 [ + ]  unattended-upgrades
 [ - ]  uuidd
$

wso2eiがこのリストにないのはなぜですか?なにが問題ですか?何が欠けていますか?

さらに、この特定のサービスのステータスを確認すると、次の出力が得られます。

$ Sudo service wso2ei status
● wso2ei.service - WSO2EI
   Loaded: loaded (/etc/systemd/system/wso2ei.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-10-11 21:03:06 CEST; 1 day 22h ago
  Process: 56854 ExecStop=/usr/lib/wso2/wso2ei/6.4.0/integrator.sh stop (code=exited, status=203/EXEC)
 Main PID: 56912 (integrator.sh)
    Tasks: 179 (limit: 9486)
   CGroup: /system.slice/wso2ei.service
           ├─56912 /bin/sh /usr/lib/wso2/wso2ei/6.4.0/bin/integrator.sh
           └─56958 /usr/lib/wso2/wso2ei/6.4.0/jdk/jdk1.8.0_192/bin/Java -Xbootclasspath/a: -Xms256m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -X

つまり、serviceステートメントは、何らかの方法でwso2eiサービスを見つけると思います。

何かが足りないと思います...

8
AndreaNobili

マンページによると

service --status-all

ショー

service --status-all runs all init scripts, in alphabetical order,
with the status command. The status is [ + ] for running services,
[ - ] for stopped services and [ ? ] for services without a
status command.  This option only calls  status for sysvinit jobs.
ls -al /etc/init.d/

Sysvinitシステムからリストされたサービスを見ることができます。

Systemdユニットを作成しました。それらは次のようにリストできます。

systemctl list-units     # for currently active units
systemctl -a list-units  # for all known units

--userシステムの単位ではなく現在のユーザーの単位を一覧表示する場合は、これらのコマンドにフラグを設定します。

14
nobody