TINYPROXY——PID文件读取错误
tinyproxy——A light-weight HTTP proxy daemon
描述:tinyproxy服务重启时报告PID文件无法打开错误,但服务启动成功。
错误描述:tinyproxy.service: Can't open PID file /run/tinyproxy/tinyproxy.pid (yet?) after start: No such file or directory
注:本人测试重启服务器后查看tinyproxy服务状态时并不会报告此错误,仅在重启tinyproxy服务时才会报错。
分析:PIDFile=指定了一个用于存储服务的PID的文件路径,对于Type=设置为forking的服务,建议使用此选项。
系统管理器在服务启动后会从这个文件中读取服务主进程的PID,但是如果服务启动后该文件还没有写完,则会报告错误该文件不可读。
为了使系统管理器读取时该文件已写完,需在服务启动后加入一段延时,这时需要用到ExecStartPost=命令来调用/bin/sleep,参数为0.1。ExecStartPost=指令只会在ExecStart=调用成功后运行。
命令调用顺序为:调用ExecStart=命令->调用ExecStartPost=命令->调用PIDFile=命令。
方案:
1.打开文件/lib/systemd/system/tinyproxy.service并在[Service]选项下添加以下内容:
ExecStartPost=/bin/sleep 0.1
2.重新加载systemd程序的配置文件
systemctl daemon-reload
3.重启tinyproxy服务
service tinyproxy restart
4.查看tinyproxy服务状态
service tinyproxy status
注:系统服务命令的详细解释可参考文件systemd.service — Service unit configuration。
网址:https://www.freedesktop.org/software/systemd/man/systemd.service.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器