私は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サービスを見つけると思います。
何かが足りないと思います...
マンページによると
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
システムの単位ではなく現在のユーザーの単位を一覧表示する場合は、これらのコマンドにフラグを設定します。