问题现象
将 dmap 和 dmserver 注册为系统服务后,无法实现服务开机自启动。
报错信息
在操作系统日志 messages 可以看到启动失败信息:
Aug 16 20:29:50 localhost systemd: DmAPService.service start operation timed out. Terminating.
Aug 16 20:29:50 localhost systemd: DmAPService.service start operation timed out. Terminating.
Aug 16 20:29:50 localhost DmAPService: Starting DmAPService:
Aug 16 20:29:50 localhost systemd: DmServiceDMSERVER.service start operation timed out. Terminating.
Aug 16 20:29:50 localhost DmServiceDMSERVER: Starting DmServiceDMSERVER:
Aug 16 20:29:52 localhost systemd: Failed to start DM Assistant Plug-In Service(DmAPService)..
Aug 16 20:29:52 localhost systemd: Unit DmAPService.service entered failed state.
Aug 16 20:29:52 localhost systemd: DmAPService.service failed.
Aug 16 20:29:50 localhost DmAPService: Starting DmAPService:
Aug 16 20:29:50 localhost systemd: DmServiceDMSERVER.service start operation timed out. Terminating.
Aug 16 20:29:50 localhost DmServiceDMSERVER: Starting DmServiceDMSERVER:
Aug 16 20:29:52 localhost systemd: Failed to start DM Assistant Plug-In Service(DmAPService)..
Aug 16 20:29:52 localhost systemd: Unit DmAPService.service entered failed state.
Aug 16 20:29:52 localhost systemd: DmAPService.service failed.
解决办法
服务启动时间设置过短可能引发此问题。延长服务启动时间超时上限即可(默认90s,如需要修改更大的值,新增一行不带#的参数,设置需要的值)。
使用 root 用户修改 /etc/systemd/system.conf:
#DefaultTimeoutStartSec=90s
systemctl daemon-reexec 生效,或者重启操作系统。