Я не гуру в администрированию никс серверов, потому задаю свой вопрос здесь.
У меня есть шел скрипт который я сохранил в
/etc/init.d/my_service примерно следующего содержания
#!/bin/sh
sudo -u www-data php -f /var/www/my_service.php > /var/log/my_service.log 2>&1 &
Запускаю PHP скрипт как демон от имени пользователя www-data и весь вывод сохраняю в лог файл
PHP скрипт имеет общий вид
<?php
while (true) {
// что-то делаем ...
echo "sleep 10 s.\n";
sleep(10);
}
так вот. Проблема заключается в том что скрипт работает несколько дней, а потом зависает. В логах я вижу что последнее его действие было "
sleep 10 s.". Действия которые должен выполнять этот скрипт, он не выполняет, но при этом он работает. Не упал.
# ps aux | grep my_service | grep -v grep
root 14517 0.0 0.1 54092 3856 ? S июн17 0:00 sudo -u www-data /var/www/my_service.php
www-data 14518 0.1 7.4 496776 151844 ? S июн17 5:15 php /var/www/my_service.php
В error логах пусто. Утечек память за скриптом я не наблюдаю. За 4 дня скрипт съел 7.4% памяти. А вот мускул съел 47%, но там база несколько гигов. На диске место есть. Память свободная еще есть.
В общем вопрос. Что я делаю не так и куда копать?
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04 LTS
Release: 16.04
Codename: xenial
$ uname -r
4.4.0-22-generic
$ php -v
PHP 7.0.4-7ubuntu2.1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
$ mysql -V
mysql Ver 14.14 Distrib 5.7.12, for Linux (x86_64) using EditLine wrapper
Пользователь добавил сообщение 21 Июня 2016, 19:48:56:
обсуждение темы ведется на
stackoverflow
ТС не появлялся на Форуме более полугода по состоянию на 14/07/2019 (последняя явка: 02/01/2017). Модератором раздела принято решение закрыть тему.
--zg_nico