首页/系统/Linux 运维命令速查/systemd 模板单元与多实例
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条
systemd 与服务42 条
包管理34 条性能与监控48 条定时任务与计划50 条

systemd 模板单元与多实例

模板单元(@.service)用一个文件拉起多实例:myapp@cluster1.service 等;%i 变量注入实例名,多租户/多端口场景利器。

Linux 运维命令速查系统更新于 2026-10-12
用途用模板单元管理多个同类服务实例
语法单元@实例.service(模板中 %i 取实例名)
所属systemd

模板示例

模板示例
# /etc/systemd/system/worker@.service
[Unit]
Description=Worker %i
[Service]
ExecStart=/opt/worker/bin/run --queue %i
Restart=on-failure
[Install]
WantedBy=multi-user.target

启用多实例

启用多实例
systemctl enable --now worker@high.service worker@low.service
systemctl status 'worker@*' --no-pager
systemctl list-units 'worker@*'
%i 是实例名、%n 完整单元名、%p 前缀;模板文件里的 [Install] 对每个实例分别 enable。

易错点

  • 模板不能直接 start(无实例名),必须带 @实例 才会解析
  • 通配符引用单元('worker@*')要加引号,否则 shell 先展开成文件名

数据来源与参考

  • man 5 systemd.unit(模板与 % 说明符)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌