You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Systemd服务手动启动正常但开机启动后立即停止的问题求助

Systemd服务手动启动正常但开机启动后立即停止的问题求助

各位好,我碰到一个百思不得其解的systemd服务问题,想请大家帮忙分析下:

我写了一个极简的systemd服务,手动执行systemctl start my-application.service启动正常,对应的stop命令也能正常停止服务,但奇怪的是,系统开机的时候,服务明明被正确启动了,却会立刻自动停止,还触发了ExecStop脚本。完全搞不懂为啥手动和开机启动的行为会不一样。

下面是我的服务配置:

[Unit]
After=network.target

[Service]
ExecStart=start-application.sh
ExecStop=stop-application.sh
SendSIGKILL=no
KillMode=none

[Install]
WantedBy=default.target

启动脚本start-application.sh的内容是这样的:

#!/bin/bash

. /home/me/app-settings
cd /home/me/$APPLICATION/
./$APPLICATION

其中$APPLICATION变量是从/home/me/app-settings里读取的,就是启动一个简单的程序——我甚至特意换成了一个啥也不干就等着Ctrl+C的测试程序,结果问题还是一样。

我对比了两种场景下的systemctl status输出,差别很大:

开机启动后的服务状态:

○ gp-application.service
Loaded: loaded (/etc/systemd/system/gp-application.service; enabled; preset: enabled)
Active: inactive (dead) since Mon 2024-02-19 12:03:09 +01; 19s ago
Duration: 1.859s
Process: 586 ExecStart=start-application.sh (code=exited, status=0/SUCCESS)
Process: 746 ExecStop=stop-application.sh (code=exited, status=0/SUCCESS)
Main PID: 586 (code=exited, status=0/SUCCESS)
CPU: 64ms

Feb 19 12:03:08 controller su[757]: (to gp) root on none
Feb 19 12:03:08 controller su[757]: pam_unix(su-l:session): session opened for user gp(uid=1000) by (uid=0)
Feb 19 12:03:08 controller su[757]: pam_unix(su-l:session): session closed for user gp
Feb 19 12:03:08 controller su[760]: (to gp) root on none
Feb 19 12:03:08 controller su[760]: pam_unix(su-l:session): session opened for user gp(uid=1000) by (uid=0)
Feb 19 12:03:08 controller su[760]: pam_unix(su-l:session): session closed for user gp
Feb 19 12:03:08 controller su[763]: (to gp) root on none
Feb 19 12:03:08 controller su[763]: pam_unix(su-l:session): session opened for user gp(uid=1000) by (uid=0)
Feb 19 12:03:09 controller su[763]: pam_unix(su-l:session): session closed for user gp
Feb 19 12:03:09 controller systemd[1]: gp-application.service: Deactivated successfully.

手动启动后的服务状态:

● gp-application.service
Loaded: loaded (/etc/systemd/system/gp-application.service; enabled; preset: enabled)
Active: active (running) since Mon 2024-02-19 12:04:32 +01; 4s ago
Main PID: 826 (start-applicati)
Tasks: 2 (limit: 9279)
Memory: 3.2M
CPU: 26ms
CGroup: /system.slice/gp-application.service
├─826 /bin/bash /usr/local/bin/start-application.sh
└─840 . speedy

Feb 19 12:04:33 controller su[837]: (to gp) root on none
Feb 19 12:04:33 controller su[837]: pam_unix(su-l:session): session opened for user gp(uid=1000) by (uid=0)
Feb 19 12:04:33 controller su[837]: pam_unix(su-l:session): session closed for user gp
Feb 19 12:04:33 controller start-application.sh[840]: SPEEDY 7.0.0
Feb 19 12:04:33 controller start-application.sh[840]: RT-APP-COMMON 2.0.0
Feb 19 12:04:33 controller start-application.sh[840]: 12:04:33.587 utils.cpp                     :117  - utilsInit()                   Utils successfully initialized.
Feb 19 12:04:33 controller start-application.sh[840]: 12:04:33.587 utils.cpp                     :244  - checkAndCreateRTLockFile()    RT lock file: /tmp/.rt-app-lock successfully created.
Feb 19 12:04:33 controller start-application.sh[840]: 12:04:33.587 main.cpp                      :768  - InitProgram()                 Reading font table
Feb 19 12:04:33 controller start-application.sh[840]: 12:04:33.587 fnttable.cpp                  :144  - ReadFontTable()               Error font file font12x8.aff
Feb 19 12:04:33 controller start-application.sh[840]: 12:04:33.587 common-parread.cpp            :83   - readCommonParameters()        EventSocket disabled as requested via parameter file.

真心搞不懂哪里出问题了,有没有大佬能指点下?

备注:内容来源于stack exchange,提问作者Luca Sagoleo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 07:45:27