Nginx日志轮换

时间:2016-10-26 06:51:57

标签: linux nginx logrotate log-rotation

可以解释一下:

[ ! -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没有运行,我们无法向主进程发送信号?

1 个答案:

答案 0 :(得分:1)

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

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

仅当 condition 为true时,两个语句才执行 action 。当条件为false时,唯一的选择是执行操作

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

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