FS#38178 - [php-fpm] logrotate.d.php-fpm use inappropriate signal for reopening log files.

Attached to Project: Arch Linux
Opened by PT. Ma. (BOYPT) - Wednesday, 18 December 2013, 03:04 GMT
Last edited by Pierre Schmitz (Pierre) - Thursday, 01 May 2014, 06:50 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Pierre Schmitz (Pierre)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

logrotate.d.php-fpm shiped with php-fpm, runs post-rotate command as:

postrotate
systemctl reload php-fpm.service || true

according to php-fpm.service, reload runs:

ExecReload=/bin/kill -USR2 $MAINPID

And according to php-fpm manpages:

SIGINT,SIGTERM immediate termination
SIGQUIT graceful stop
SIGUSR1 re-open log file
SIGUSR2 graceful reload of all workers + reload of fpm conf/binary



The signal used with postrotate shoud be SIGUSR1, instead of SIGUSR2.

SIGUSR2 causes all the fpm process reset, including all the cache/connections.

Additional info:
* package version(s): php-fpm 5.5.7

This task depends upon

Closed by  Pierre Schmitz (Pierre)
Thursday, 01 May 2014, 06:50 GMT
Reason for closing:  Fixed
Comment by PT. Ma. (BOYPT) - Wednesday, 18 December 2013, 03:11 GMT
It's better use this command as postrotate:

pkill -USR1 $(cat /run/php-fpm/php-fpm.pid) || true

Loading...