非root用户使用systemd

需要root用户执行

sudo loginctl enable-linger username

将用户的服务长驻

以下是非root用户的操作

创建用户的服务

mkdir ~/.config/systemd/user
cd ~/.config/systemd/user
vim test.service

编辑 test.service

[Unit]
AssertPathExists=/home/ghost/ghost

[Service]
WorkingDirectory=/home/ghost/ghost
Environment=GHOST_NODE_VERSION_CHECK=false
ExecStart=/usr/bin/npm start --production
Restart=always
PrivateTmp=true
NoNewPrivileges=true

[Install]
WantedBy=default.target

启用 test.service

systemctl --user enable test.service

查看 test.service 状态

systemctl --user status test.service

启动 test.service

systemctl --user start test.service

查看日志

journalctl -n -f -u test

-n 表示 返回最新的日志

-f 表示 持续显示最新的日志,类似 tail -f

-u 表示只显示哪个service的日志

参考:

https://www.brendanlong.com/systemd-user-services-are-amazing.html

posted on 2022-05-17 10:50  Colin88  阅读(1243)  评论(0编辑  收藏  举报