如何抑制systemd中ExecStartPre脚本引发的sshd启动失败报错?
解决systemd sshd服务启动失败提示的方法
针对你遇到的ExecStartPre脚本导致sshd服务启动失败提示的问题,可通过以下几种方式抑制错误:
忽略ExecStartPre脚本的非0退出码
在ExecStartPre命令前添加-前缀,让systemd不把脚本的失败判定为服务启动失败:[Service] ExecStartPre=-/path/to/some/script.sh这个
-是systemd的特殊语法,标记该命令的退出状态不影响服务启动流程。强制脚本返回成功状态
修改你的脚本/path/to/some/script.sh,在末尾添加一行强制返回0(成功)的命令:# 脚本原有内容... exit 0这样无论脚本实际执行结果如何,都会向systemd返回成功状态,避免触发失败提示。但此方法会掩盖脚本的真实错误,若不需要监控脚本执行状态可使用。
指定允许的非0退出码为成功状态
如果脚本有特定的非0退出码是预期内的(比如返回1是正常逻辑),可在[Service]段添加SuccessExitStatus参数,将该退出码标记为成功:[Service] ExecStartPre=/path/to/some/script.sh SuccessExitStatus=1你可以根据脚本实际返回的退出码调整数值,多个码用空格分隔(如
SuccessExitStatus=1 2)。
内容的提问来源于stack exchange,提问作者ritchie
相关产品推荐
相关产品推荐

