用户级服务启动时RuntimeDirectory未创建的问题求助
用户级服务启动时RuntimeDirectory未创建的问题求助
我遇到了一个棘手的问题:当我以普通用户身份启动myApplication-myInstance.service服务时,配置好的RuntimeDirectory并没有被自动创建,以下是我排查过程中得到的信息:
首先确认服务里的RuntimeDirectory配置:
$ systemctl --user cat myApplication-myInstance.service | grep RuntimeDirectory= RuntimeDirectory=myApplication
服务的启用状态显示正常:
$ systemctl --user list-unit-files myApplication-myInstance.service UNIT FILE STATE VENDOR PRESET myApplication-myInstance.service enabled enabled 1 unit files listed.
但查看当前用户的运行目录时,完全找不到对应的目录:
$ ls /run/user/$UID/ | grep myApplication $
补充编辑(EDIT0):后来我发现服务处于活跃但已退出的状态,怀疑会不会是启动脚本使用了nohup导致的?相关信息如下:
服务的活跃状态:
$ systemctl --user status myApplication-myInstance.service | grep "Active" Active: active (exited) since Fri 2023-03-31 11:54:59 CEST; 6h ago
服务完整的[Service]段配置:
$ systemctl --user cat myApplication-myInstance.service | grep -A3 ^.Service [Service] Type=simple RemainAfterExit=yes RuntimeDirectory=myApplication
当前用户的UID:
$ echo $UID 1002
我是不是哪里配置出错了?
备注:内容来源于stack exchange,提问作者SebMa
相关产品推荐
相关产品推荐

