systemd

来自Gea-Suan Lin's Wiki
跳到导航 跳到搜索

systemd是一个系统套件。

设定

system模式下不需要额外设定就可以用,建议将自制的service档案装到/etc/systemd/system下;user模式下需要针对特定使用者启动user自己的systemd:

sudo loginctl enable-linger foo

另外在~/.profile内可能会需要指定XDG_RUNTIME_DIR

[ -z ${XDG_RUNTIME_DIR} ] && export XDG_RUNTIME_DIR=/run/user/$(id -u)

范例

这是一个很简单的范例,放在/etc/systemd/system/下:

#
[Unit]
Description=Description
After=remote-fs.target

[Service]
#Environment="HTTP_PROXY=http://127.0.0.1:3128/"
#Environment="HTTPS_PROXY=http://127.0.0.1:3128/"
ExecStart=/usr/bin/spawn-fcgi
#ExecStop=...
#KillSignal=SIGQUIT # Default is SIGTERM
Restart=on-failure
RestartSec=60
Type=simple
#WorkingDirectory=

[Install]
WantedBy=multi-user.target

这是user模式下的(因为user模式下没有multi-user.target,也不需要remote-fs.target),放在~/.config/systemd/user/下:

#
[Unit]
Description=Description

[Service]
#Environment="HTTP_PROXY=http://127.0.0.1:3128/"
#Environment="HTTPS_PROXY=http://127.0.0.1:3128/"
ExecStart=/usr/bin/spawn-fcgi
#ExecStop=...
#KillSignal=SIGQUIT # Default is SIGTERM
Restart=on-failure
RestartSec=60
Type=simple
#WorkingDirectory=

[Install]
WantedBy=default.target

对于Type的选择[1],常用的有simple(继续执行)与forking(类似daemon mode)。

参考文献

  1. systemd.service. [2023-10-16] (English). 

外部链接