Ler*_*kes 10 systemd systemctl centos7
如何使用 systemctl 找出哪些命令适用于服务?
# systemctl reload nagios.service
failed to reload nagios.service: Job type reload is not applicable for unit nagios.service.
Run Code Online (Sandbox Code Playgroud)
使用 init.d,您可以在没有命令的情况下运行脚本并查看适用命令的使用信息:
# /etc/init.d/nagios
Usage: /etc/init.d/nagios {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}
Run Code Online (Sandbox Code Playgroud)
Mit*_*tja 11
systemctl
不像旧的初始化脚本。根据其man
页面,它支持以下命令,类似于您正在搜索的 init-script 命令:
start
启动(激活)命令行上指定的一个或多个单元。stop
停止(停用)在命令行上指定的一个或多个单元。reload
要求命令行中列出的所有单元重新加载其配置。restart
重新启动命令行中指定的一个或多个单元。如果这些单元还没有运行,它们将被启动。try-restart
如果单元正在运行,则重新启动命令行上指定的一个或多个单元。如果单元没有运行,这没有任何作用。请注意,为了与 Red Hat init 脚本兼容,condrestart
此命令等效于。reload-or-restart
如果他们支持,重新加载一个或多个单位。如果没有,请重新启动它们。如果这些单元还没有运行,它们将被启动。reload-or-try-restart
如果他们支持,重新加载一个或多个单位。如果没有,请重新启动它们。如果单元没有运行,这将不起作用。请注意,为了与 SysV init 脚本兼容,force-reload
此命令等效于。所以这组命令基本上可以归结为start
,stop
和reload
。由于start
和stop
对于大多数服务类型都是必需的(并且您通常知道服务是否不支持其中之一),因此您唯一想知道的是给定服务是否支持reload
。
大多数情况下,您希望它重新加载或重新启动:systemctl reload-or-restart nagios
然后使用。要真正找出为重新加载而执行的命令(如果有),您可以查看其服务文件。这通常可以在/lib/systemd/system/
或中找到/usr/lib/systemd/system
并被命名$SERVICENAME.service
(在您的情况下nagios.service
)。该文件包含用于启动、停止和可能重新加载服务的命令,即ExecStart
,ExecStop
和ExecReload
。如果您对此感兴趣,可以执行 agrep ExecReload /lib/systemd/system/nagios.service
来确定服务是否支持重新加载。
TL; 博士
systemctl
基本上支持start
,stop
和reload
. 要了解服务是否支持重新加载,请尝试一下。如果您需要在脚本或其他内容中重新加载多个服务,请使用reload-or-restart
,如果ExecReload
存储了-command则重新加载服务,否则将重新启动它。
归档时间: |
|
查看次数: |
15007 次 |
最近记录: |