我绝对不喜欢 Linux 系统管理(我是一名软件开发人员),我有以下关于服务的问题。
在Ubuntu 18.04.2 LTS机器上安装了一个软件即服务。我的意思是我可以在 shell 中运行它来执行这个语句:
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
所以我认为服务声明以某种方式找到了wso2ei服务。
我想我错过了一些东西......
根据手册页
节目
你可以从 sysvinit 系统中看到列出的服务。
您编写了一个 systemd 单元,它们可以列出:
--user
如果您想列出当前用户的单位而不是系统单位,请在这些命令中添加标志。