2016-10-26 63 views
0

可以这样解释:Nginx的日志旋转

[ ! -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

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

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

两个语句执行动作只有条件是真实的。唯一的选择是不是执行动作条件是假的。

如果条件为真,整个语句的退出代码是行动的退出代码。

条件如果假两个语句的退出码不同,因为它是[ ... ]元素的退出码。