小编U. *_*ndl的帖子

systemd 的用户和系统服务有什么区别?

我试图通过编写一些服务来更好地理解 systemd。

例如,我很难理解这两种服务之间的差异,我想确保我正确理解它们会更合适。

因此,例如我得到了 rtorrent 服务,定义为 rt 作为系统服务,我可以为用户 X、Y、Z 启用该服务,使用 sudo systemctl enable rt@userX.service

?  ~  cat /etc/systemd/system/rt@.service
[Unit]
Description=rTorrent
Requires=network.target local-fs.target

[Service]
Type=forking
KillMode=none
User=%I
ExecStart=/usr/bin/tmux new-session -s rt -n rtorrent -d rtorrent
ExecStop=/usr/bin/tmux send-keys -t rt:rtorrent C-q
WorkingDirectory=/home/%I/
Restart=on-failure

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

我以这种方式定义了保管箱:

?  ~  cat /etc/systemd/user/dropbox@.service
[Service]
ExecStart=/bin/sh %h/.dropbox-dist/dropboxd
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

如果我理解得很好,对于许多用户来说,可以在用户级别启动/停止/启用/禁用 Dropbox 服务,即使该用户不是管理员。这是否意味着我可以作为 userX 为 userY 启用它?至于 rt 服务,只有管理员可以启用/启动/停止它......这是系统服务和用户之间的唯一区别吗?

linux systemd

16
推荐指数
1
解决办法
1万
查看次数

标签 统计

linux ×1

systemd ×1