测验:unit 文件
systemctl start 卡住 30 秒后失败,但进程已运行。最可能原因是?
- 依赖服务未启动
- 运行用户权限不足
- Type 与实际进程行为不符
- EnvironmentFile 路径不存在
没有 [Install] 节的单元有什么问题?
- 无法用 systemctl start 启动
- systemctl enable 不做任何事,开机不自启
- 日志不进入 journal
- 所有依赖都被忽略
为什么 ExecStart=/usr/bin/app > /var/log/app.log 不工作?
- 无日志写权限
- 可执行路径错误
- systemd 不经 shell 直接 exec,不解析重定向
- 日志目录不存在
After= 与 Requires= 有何区别?
- 含义相同
- After 只规定启动顺序,Requires 建立依赖,通常两者并用
- After 是强依赖,Requires 是弱依赖
- Requires 规定停止顺序
Restart=always 和 RestartSec=0 组合有什么危险?
- 内存泄漏迅速累积
- 崩溃循环吞噬 CPU 与日志,使系统瘫痪
- 条件冲突导致不重启
- 连依赖服务一起终止
开启 ProtectSystem=strict 后服务无法启动,先检查什么?
- User 指定账户是否存在
- Type 是否匹配
- 依赖服务是否先启动
- 服务写入路径是否列在 ReadWritePaths