Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 当仅基于某些信号而崩溃时,如何使用sytemd重新启动服务_Linux_Service_Monitor_Systemd - Fatal编程技术网

Linux 当仅基于某些信号而崩溃时,如何使用sytemd重新启动服务

Linux 当仅基于某些信号而崩溃时,如何使用sytemd重新启动服务,linux,service,monitor,systemd,Linux,Service,Monitor,Systemd,基本上,我只想使用systemd实现与init.d的监视器相同的功能 我有一个作为守护进程运行的服务。如果该服务由于某种原因崩溃,我想使用systemd重新启动它。 当我阅读与此相关的其他问题和答案时,我发现我们可以在该服务单元中添加以下内容 Restart=always RestartSec=0 但这是否只有在发生崩溃时才会重新启动?或者即使它被杀了 是否仍然可以根据某些信号重新启动它,如SIGTERM、SIGINT或SIGHUP?重新启动就是重新启动。那很容易 如果您不想重新启动,则会出现

基本上,我只想使用systemd实现与init.d的监视器相同的功能

我有一个作为守护进程运行的服务。如果该服务由于某种原因崩溃,我想使用systemd重新启动它。

当我阅读与此相关的其他问题和答案时,我发现我们可以在该服务单元中添加以下内容

Restart=always
RestartSec=0
但这是否只有在发生崩溃时才会重新启动?或者即使它被杀了


是否仍然可以根据某些信号重新启动它,如SIGTERM、SIGINT或SIGHUP?

重新启动就是重新启动。那很容易


如果您不想重新启动,则会出现系统ctl stop foo.service。

根据标准文档,服务重新启动的条件发生在退出、终止和超时时。那么,你的问题得到了回答。当它崩溃时,它退出,当它被杀死时,是的,它重新启动

Restart=配置当服务启动时是否应重新启动服务 服务进程退出、终止或达到超时

查看此处以了解更多信息和详细信息()

关于发送信号,该过程遵循其设计遵循的信号处理程序


这与systemd控制器和效果无关。试想一下,当你发送一个信号时,你实际上会把它发送给进程本身。它根本没有到达systemd进程。

堆栈溢出是一个用于编程和开发问题的站点。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。