服务管理 - systemd
systemd 是 Linux 操作系统的系统和服务管理器。在启动时作为第一个进程运行时 (如 PID 1),它充当启动和维护用户空间服务的 init 系统。
为已登录的用户启动单独的实例以启动他们的服务。
# 常用命令
# 服务列表
systemctl list-units
# timer服务列表(定时器)
systemctl list-timers
# 状态
systemctl status <unit名称>
# systemctl status sshd.service
# 停止
systemctl stop <unit名称>
# 启动
systemctl start <unit名称>
# 开启-开机启动
systemctl enable <unit名称>
# 禁用-开机启动
systemctl disable <unit名称>
# 重新加载配置
systemctl daemon-reload
# 查看完整日志
journalctl -u <unit名称>
# journalctl -u hello-world.service
# 创建服务
# 编辑服务配置
systemctl edit <unit名称>
# 服务配置存储位置
/etc/systemd/system # 存放自定义的
/lib/systemd/system # 标准的? 弹幕说这个是/usr/lib软链接的
/usr/lib/systemd/system # 通过包管理软件安装的
创建 Service 类型
# 查看service配置说明
man 5 systemd.service
vim /etc/systemd/system/hello-world.service
[Unit]
Description=ATD daemon
[Service]
Type=forking
ExecStart=/usr/bin/atd
[Install]
WantedBy=multi-user.target
创建 Timer 类型
# 查看timer配置说明
man 5 systemd.timer
vim /etc/systemd/system/hello-world.service
[Unit]
Description=My Service Timer
[Timer] # 每隔1分钟执行一次hello-world.service
OnUnitActiceSec=1min
Unit=hello-world.service
[Install]
WantedBy=timers.target
# 模板
nano /etc/systemd/system/name.service
[Unit]
Description=Quil Node
Wants=network-online.target
After=network-online.target
[Service]
WorkingDirectory=/root/ceremonyclient/node
ExecStart=/root/ceremonyclient/node/node-2.0.4.1-linux-amd64
StandardOutput=append:/root/ceremonyclient.log
Restart=always
[Install]
WantedBy=multi-user.target
# 参考
上次更新: 2024/11/27, 12:04:53