在我的服务器上,我使用的弹性搜索会定期关闭,结果是我的用户有500错误。
我已经了解systemD现在是管理服务的参考。我很好。
如何在系统崩溃时自动重启弹性搜索服务?我找到了重新启动它的方法,但没有自动重启,没有我检查它是否已经关闭。
答案 0 :(得分:14)
如果您使用systemd服务文件来启动服务,请在服务文件中添加以下行,以便从您的服务中开始
[Service]
Type=simple
ExecStart=here will be your service executable name
Restart=always
RestartSec=0
Restart=
配置在服务进程退出,终止或超时时是否应重新启动服务。采用以下值之一:no
,on-success
,on-failure
,on-abnormal
,on-watchdog
,on-abort
或always
。如果设置为no
(默认值)。
RestartSec=
在重新启动服务之前配置睡眠时间(使用Restart=
配置)。在几秒钟内获得无单位值。
这两个选项必须位于服务文件中的[Service]
标记下。
答案 1 :(得分:0)
我已经使用了monit monit。 A post at askfedoraproject向我建议,这仍然是监控流程并自动重启流程的好方法。
它提供了监控功能的良好粒度配置,如何确定进程是否已失败,以及采取哪些措施来恢复它。
答案 2 :(得分:0)
Systemctl - Linux系统的系统和服务管理器
关于systemd的基础知识: 特征: 1.启动时并行启动系统服务 2.要求激活守护进程 3.基于依赖的服务控制逻辑
* limited support at runlevel
* panic is not support panic command(systemctl no custom commands)
* systemctl can only communicate with services which are started by systemd
* sysd stop only running services
* system services don't inherit any context like HOME or PATH variable
* All services subject to default timeout of 5 minutes can be configured.These prevents from system to freeze in case of some application stop to respond.
系统单位:服务,路径,装载,快照,交换,计时器,设备等 单位类型 文件扩展名 描述 服务单位 。服务 系统服务。 目标单位 。目标 一组系统单位。 自动挂载单元 .automount 文件系统自动挂载点。 设备单元 。设备 内核识别的设备文件。 安装单元 。安装 文件系统挂载点。 路径单位 。路径 文件系统中的文件或目录。 范围单位 。范围 外部创建的流程。 切片单位 。切片 一组管理系统进程的分层组织单元。 快照单元 .snapshot systemd管理器的已保存状态。 插座单元 。插座 进程间通信套接字。 交换单位 。交换 交换设备或交换文件。 定时器单元 .timer 系统计时器。
单元文件的Filelocation:/ etc / systemd / system
配置文件:/etc/systemd/system.conf
Systemd提供了很多功能,基本上你可以控制linux系统的所有资源,为你提供很多功能。本文着重于管理系统服务。
管理系统服务: systemctl 描述 systemctl start name.service 启动服务。 systemctl stop name.service 停止服务。 systemctl restart name.service 重新启动服务。 systemctl try-restart name.service 仅在服务正在运行时重新启动服务。 systemctl reload name.service 重新加载配置。 systemctl status name.service systemctl is-active name.service 检查服务是否正在运行。 systemctl list-units --type service --all 显示所有服务的状态。 systemctl 描述 systemctl enable name.service 启用服务。 systemctl禁用name.service 禁用服务。 systemctl status name.service systemctl已启用name.service 检查是否启用了服务。 systemctl list-unit-files --type服务 列出所有服务并检查它们是否已启用。 systemctl list-dependencies - after 列出在指定单元之前订购的服务。 systemctl list-dependencies --before 列出在指定单位后开始订购的服务。