Linux 当仅基于某些信号而崩溃时,如何使用sytemd重新启动服务
基本上,我只想使用systemd实现与init.d的监视器相同的功能 我有一个作为守护进程运行的服务。如果该服务由于某种原因崩溃,我想使用systemd重新启动它。 当我阅读与此相关的其他问题和答案时,我发现我们可以在该服务单元中添加以下内容Linux 当仅基于某些信号而崩溃时,如何使用sytemd重新启动服务,linux,service,monitor,systemd,Linux,Service,Monitor,Systemd,基本上,我只想使用systemd实现与init.d的监视器相同的功能 我有一个作为守护进程运行的服务。如果该服务由于某种原因崩溃,我想使用systemd重新启动它。 当我阅读与此相关的其他问题和答案时,我发现我们可以在该服务单元中添加以下内容 Restart=always RestartSec=0 但这是否只有在发生崩溃时才会重新启动?或者即使它被杀了 是否仍然可以根据某些信号重新启动它,如SIGTERM、SIGINT或SIGHUP?重新启动就是重新启动。那很容易 如果您不想重新启动,则会出现
Restart=always
RestartSec=0
但这是否只有在发生崩溃时才会重新启动?或者即使它被杀了
是否仍然可以根据某些信号重新启动它,如SIGTERM、SIGINT或SIGHUP?重新启动就是重新启动。那很容易
如果您不想重新启动,则会出现系统ctl stop foo.service。根据标准文档,服务重新启动的条件发生在退出、终止和超时时。那么,你的问题得到了回答。当它崩溃时,它退出,当它被杀死时,是的,它重新启动 Restart=配置当服务启动时是否应重新启动服务 服务进程退出、终止或达到超时 查看此处以了解更多信息和详细信息() 关于发送信号,该过程遵循其设计遵循的信号处理程序
这与systemd控制器和效果无关。试想一下,当你发送一个信号时,你实际上会把它发送给进程本身。它根本没有到达systemd进程。堆栈溢出是一个用于编程和开发问题的站点。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。