Desenvolvemos serviços personalizados no Ubuntu e eles são instalados e habilitados para o systemd.
Quando esses serviços personalizados são interrompidos usando systemctl stop, os serviços interrompidos não aparecem na CLI "systemctl list-units --full --all". O início do serviço funciona bem e aparece na saída das unidades de lista.
Eu preciso listar unidades carregadas, mas paradas. Por favor, note "systemctl list-unit-files --full --all" mostra os serviços personalizados. Mas esse CLI é destinado apenas para serviço "habilitado" e não "carregado", portanto, não é útil para nós.
Outros serviços padrão, como sshd / postfix etc, quando parados, aparecem na lista de unidades de lista.
Alguma pista / sugestão para eu descobrir o que está errado?
Meu ubuntu e a versão systemd são como abaixo. O modelo de serviço também é fornecido abaixo
Detalhes do Systemd
systemd --version
systemd 229
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN
Versão do Ubuntu
cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.2 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.2 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
Modelo de serviço
[Unit]
Description=Custom Service
Requires=dependent_1.service dependent_2.service custom_init.service
Wants=networking.service
After=custom_init2.service custom2.service
[email protected]
[Service]
Type=simple
ExecStart=/opt/foo/bar/libexec/custom_service_exe
ExecStartPost=/opt/foo/bar/libexec/notify_state_change %p 1
ExecStopPost=/opt/foo/bar/libexec/notify_state_change %p 0
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
StartLimitInterval=450
StartLimitBurst=3
[Install]
RequiredBy=custom.target