error.log для apache2 містить безліч повідомлень, що "спіймали SIGTERM"


1

Після перезапуску служб Apache він генерує наступний вхід /var/log/apache2/error.log - і збільшується розмір error.log.

Це поведінка за умовчанням або я відсутній деяка конфігурація?

[Mon Jul 29 15:13:25 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.4.9-4ubuntu2.2 configured -- resuming normal operations
[Mon Jul 29 15:14:24 2013] [notice] caught SIGTERM, shutting down
[Mon Jul 29 15:14:25 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.4.9-4ubuntu2.2 configured -- resuming normal operations
[Mon Jul 29 15:14:31 2013] [notice] caught SIGTERM, shutting down
[Mon Jul 29 15:14:32 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.4.9-4ubuntu2.2 configured -- resuming normal operations
[Mon Jul 29 15:14:59 2013] [notice] caught SIGTERM, shutting down
[Mon Jul 29 15:15:00 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.4.9-4ubuntu2.2 configured -- resuming normal operations
[Mon Jul 29 15:15:02 2013] [notice] caught SIGTERM, shutting down
[Mon Jul 29 15:15:03 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.4.9-4ubuntu2.2 configured -- resuming normal operations

Відповіді:


2

The SIGTERM це просто сигналу процесу POSIX що вказує системі, як зупинити процес; в даному випадку Apache. Згідно з посиланням на Вікіпедію:

Сигнал SIGTERM надсилається в процес для запиту його завершення.   На відміну від сигналу SIGKILL, він може бути виявлений і інтерпретований або ігнорований   процесом. Це дозволяє виконувати процес приємного завершення   вивільнення ресурсів і збереження стану, якщо це необхідно. SIGINT майже   ідентичний SIGTERM.

Котрий у принципі все означає, що коли ви кажете Apache stop за допомогою команди:

sudo service apache2 stop

Or restart за допомогою цієї команди:

sudo service apache2 restart

Що насправді відбувається - це init.d сценарій надсилає a SIGTERM процесу і журнал просто відображає це. Все це означає, що ввічливо просить Апачі2 припинити свою діяльність.

Тепер перевага журналу - просто дати вам знати, що відбувається. Наприклад, скажімо, ви знаходитесь на реальному сервері і під DDoS-атакою. Система може бути настільки переповнена, що ви не бачите цього caught SIGTERM, shutting down вхід у журнал відразу. Гаразд, вся логіка «зупинки процесу» може просто задихатися, і вона ніколи не з'являється в журналі.

Перевага цього запису в журналі полягає в тому, щоб система підтвердила, що так, ми отримали замовлення на вимкнення Apache і так це те, що було зроблено.


1

Це цілком нормально, тому що це так, як сценарій зупиняє apache.

Перевірте свій /etc/init.d/apache2 або /etc/init.d/httpd скрипт (назва залежить від ОС), ви повинні побачити щось подібне:

stop() {
        echo -n $"Stopping $prog: "
         killproc  -p $ {pidfile} -d $ {STOP_TIMEOUT} $ httpd
        RETVAL = $?
        луна
        [$ RETVAL = 0] & amp; & amp; rm -f $ {lockfile} $ {pidfile}
} 

Команда killproc надсилає SIGTERM до процесу httpd.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.