Linux学习笔记:systemd配置文件
本文更新于2024-08-15,使用systemd 252,操作系统为Debian 12.6 (bookworm)。
以为Nginx编写配置文件为例,配置文件路径为/lib/systemd/system/nginxd.service(亦即服务名为nginxd),所有者为root,权限通常为0644。文件内容如下:
[Unit] Description=Nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit Restart=on-failure [Install] WantedBy=multi-user.target
- Unit
- After:在此依赖列表之后启动。以空格分隔。
- Before:在此依赖列表之前启动。以空格分隔。
- Description:描述文本。
- Documentation:文档地址。
- Wants:弱依赖列表,即使其启动失败也不会对本单元有影响。以空格分隔。
- Service
- Environment:环境变量列表。
- ExecReload:重载指令。必需使用绝对路径。
- ExecStart:启动指令。必需使用绝对路径。
- ExecStartPost:启动后处理指令。必需使用绝对路径。
- ExecStartPre:启动预处理指令。必需使用绝对路径。
- ExecStop:停止指令。必需使用绝对路径。
- KillMode:杀死进程的模式。control-group(默认)为杀死所有进程,包括子进程;process为只杀死主进程;mixed为主进程将收到SIGTERM信号,子进程收到SIGKILL信号;none为不杀死进程,只执行stop指令。
- PrivateTmp:是否分配独立的临时空间。
- Restart:重启策略。no(默认)为不重启;always为总是重启;on-success为只在成功退出(即返回码为0)时重启;on-failure为只在失败退出(即返回码非0)时重启。
- RestartSec:重启时间间隔。默认为100ms。
- TimeoutSec:停止的超时时间,超过则强制停止。
- Type:启动类型。为forking时从父进程创建子进程,然后父进程退出;为simple(默认)时启动指令即为主体程序。
- Install
- WantedBy:被外部依赖的列表。以空格分隔。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从零开始开发一个 MCP Server!
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档