On Fri, Jan 15, 2010 at 4:35 AM, Christopher Thorjussen <Christopher.Thorjussen at carrot.no> wrote: > I've just updated a few CentOS 5.3 servers to 5.4. One of them were a Apache Webserver. Doing a diff/check on the new ".rpmnew" config files that are made, I saw that the logrotate command for apache was changed. In 5.3 it did a reload, but in 5.4 it does a hard kill: > > CentOS 5.3: > > /var/log/httpd/*log { > missingok > notifempty > sharedscripts > postrotate > /sbin/service httpd reload > /dev/null 2>/dev/null || true > endscript > } > > > CentOS 5.4: > > /var/log/httpd/*log { > missingok > notifempty > sharedscripts > postrotate > /bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true > endscript > } > > Isn't this a bit harsh in 5.4? Wouldn't the 5.3 method be better? > > -Christopher Thorjussen The "kill" command is misnamed and has undoubtedly cause this kind of confusion since its inception. What the kill command really does is send a signal to the process. By default it just happens to be the TERM signal. If you give it another signal, like HUP, it will send that one instead. It's up to the individual program to determine what to do when receiving certain signals. In the case of HUP, many programs choose to reload their configurations. "dd" is interesting in that it prints out status information when it receives a USR1 signal. I agree that it should be using "service" instead of kill though.