Столкнулся с такой заморочкой: на серваке регулярно стартуют РНР-скрипты, я у них выставляю ограничение по времени set_time_limit(). Но иногда процессы остаются висеть сверх указанного времени, причем статус у них "R/S", т.е. вроде адекватный. В связи с этим два вопроса: 1. Как считается время выполнения скрипта из консоли? По реальному времени или по процессорному? (в списке процессов у них редко когда больше 0:02) 2. Кто-нибудь сталкивался с похожим? Может это глюк? РНР стоит 4.4.2, месяц назад выкачивали.
По-моему по процессорному. Если поставить например sleep(100) он так и будет висеть 100 секунд и не вылетит.
Действительно. Тогда такой вопрос - можно ли ограничить выполнение по реальному времени? В общем случае задача звучит так: с какойто периодичностью запускается скрипт. Одновременно два и более запускаться не должно, в то же время если скрипт по какойто причине умер, он ессно запускается. Сейчас это реализовано так: при запуске скрипт ставит время в файл, по окончанию работы файл обнуляет. Повторно скрипт запускается если файл пустой или разница между временем в файле и текущим больше таймаута (считается что скрипт завис)