【问题标题】:Nginx log rotationNginx 日志轮换
【发布时间】:2017-03-08 10:07:21
【问题描述】:

可以解释一下吗:

[ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`

(/etc/logrotate.d/nginx的内容)?

为什么不是这样

[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`

因为我们不应该只在 nginx.pid 文件存在时才发送信号吗?如果 pid 不存在,那么 nginx 没有运行,我们不能向主进程发送信号?

【问题讨论】:

    标签: linux nginx logrotate log-rotation


    【解决方案1】:

    两个语句执行相同的功能,但有不同的退出代码。

    [ ! condition ] || action
    [ condition ] && action
    

    只有当 condition 为真时,两个语句才会执行 action。唯一的选择是当条件为假时执行动作

    如果 condition 为真,则整个语句的退出代码就是 action 的退出代码。

    条件 if false 时,两个语句的退出码不同,因为它是[ ... ]元素的退出码。

    【讨论】:

      猜你喜欢
      • 2011-04-01
      • 2020-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-21
      • 2019-02-11
      • 2013-08-06
      • 2015-01-16
      相关资源
      最近更新 更多