execstartpost_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/slep,参数为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

2020-05-13 16:16:56

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值