i使用an/etc/init.d脚本启动守护程序。即使守护程序出于异常原因(杀死,SEG缺陷等(停止跑步,我也可以从Invoke-rc.D守护程序开始(或服务守护程序开始(。另外,Invoke-rc.d守护程序状态将以非零值返回(我将其用于脚本,该脚本将每10秒检查一次守护程序的状态,并在不运行时重新启动(。
转到Xenial和Systemd,如果守护程序被杀死,则Invoke-rc.D守护程序开始行不通,并调用RC.D守护程序状态表示守护程序仍在运行(以0退出(。<<<<<<<<<<<</p>
我知道Systemd可以处理初始文件,但是看起来此角案件无法正确处理。
在SystemD中,您可以使用SuccessExitStatus = Exit_code覆盖此情况,但是当Systemd使用来自Trusty的INIT脚本时。
关于如何修改我的初始文件覆盖该案例的任何想法
我听说您不想创建一个Systemd .service
文件,但是它可能比您想做的要快的速度要快,这是让Systemd管理传统SYSV的速度init脚本。当您很快发现时,间接层的额外层增加了错误的复杂性和其他潜力。
没有看到您要工作的init.d
脚本,这并不清楚问题可能是什么。
至于维护附加版本的时间 - 除非对服务的真正根本性随时间变化,因此文件不应真正更改,因此额外的维护时间应接近零。
要查看以设置.service
文件的关键文档是man systemd.service
,man systemd.unit
和可能的man systemd.exec
。但是最简单的解决方案可能只是从可比服务复制/粘贴/修改.service
文件。