首页/系统/信创系统运维速查/用户级 systemd 服务与 linger
服务与运维65 条

用户级 systemd 服务与 linger

以普通用户身份托管程序:systemctl --user 管理 ~/.config/systemd/user/ 下的单元;要让服务在用户不登录时也运行,需要 loginctl enable-linger。

信创系统运维速查系统更新于 2026-10-12

使用流程

使用流程
mkdir -p ~/.config/systemd/user
# 写 ~/.config/systemd/user/myapp.service(ExecStart 指向用户可执行文件)
systemctl --user daemon-reload
systemctl --user enable --now myapp.service
systemctl --user status myapp.service --no-pager
loginctl enable-linger $USER     # 免登录常驻
journalctl --user -u myapp -n 50 --no-pager
用户单元默认随会话结束停止;enable-linger 后由用户管理实例托管,注意资源限制与开机时机。

易错点

  • sudo 切换用户后 systemctl --user 会报运行环境目录缺失:用 su - 或 machinectl shell 建立正确会话
  • 用户级服务不参与系统 target 排序,依赖网络与存储的要在单元内自行等待

数据来源与参考

  • man 1 systemctl(--user)
  • man 1 loginctl(enable-linger)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌