systemctl
não é como os bons scripts de inicialização antigos. De acordo com a sua página man
, ele suporta os seguintes comandos que são como os comandos init-script que você está procurando:
-
start
Inicia (ativa) uma ou mais unidades especificadas na linha de comando. -
stop
Pare (desative) uma ou mais unidades especificadas na linha de comando. -
reload
Solicita todas as unidades listadas na linha de comando para recarregar sua configuração. -
restart
Reinicie uma ou mais unidades especificadas na linha de comando. Se as unidades ainda não estiverem funcionando, elas serão iniciadas. -
try-restart
Reinicie uma ou mais unidades especificadas na linha de comando se as unidades estiverem em execução. Isso não faz nada se as unidades não estiverem em execução. Note que, para compatibilidade com scripts init Red Hat,condrestart
é equivalente a este comando. -
reload-or-restart
Recarregue uma ou mais unidades se elas forem compatíveis. Caso contrário, reinicie-os. Se as unidades ainda não estiverem funcionando, elas serão iniciadas. -
reload-or-try-restart
Recarregue uma ou mais unidades se elas forem compatíveis. Caso contrário, reinicie-os. Isso não faz nada se as unidades não estiverem funcionando. Observe que, para compatibilidade com scripts init do SysV,force-reload
é equivalente a esse comando.
Portanto, o grupo desses comandos resume-se basicamente a start
, stop
e reload
. Como start
e stop
são necessários para a maioria dos tipos de serviço (e você normalmente sabe se um serviço não suporta um deles), a única coisa que você poderia querer saber é se um determinado serviço suporta reload
ou não .
Na maioria das vezes, você quer recarregar ou reiniciar: use systemctl reload-or-restart nagios
. Para realmente descobrir qual comando (se houver) é executado para recarregar, você pode procurar em seu arquivo de serviço. Geralmente, isso pode ser encontrado em /lib/systemd/system/
ou /usr/lib/systemd/system
e é denominado $SERVICENAME.service
(no seu caso, nagios.service
). Este arquivo contém comandos para iniciar, parar e recarregar o serviço, ou seja, ExecStart
, ExecStop
e ExecReload
. Se você estiver interessado nisso, você pode fazer um grep ExecReload /lib/systemd/system/nagios.service
para descobrir se um serviço suporta recarga ou não.
TL; DR
systemctl
essencialmente suporta start
, stop
e reload
. Para descobrir se um Serviço suporta recarga, apenas tente. Se você precisar recarregar vários serviços em um script ou algo assim, use reload-or-restart
, que recarregará o serviço se ele tiver um ExecReload
-command armazenado, caso contrário, ele será reiniciado.