У меня проблема со скриптом, который зависает примерно в 1% случаев, как он описан здесь .
Чтобы избежать запуска более одного раза за раз, сценарий создает временный файл, который удаляется, если сценарий завершен или произошла фатальная ошибка PHP.
Когда сценарий зависает, это, конечно, не происходит, и поэтому все застревает, так как следующий запланированный запуск не начнется, так как временный файл все еще существует.
Никому еще не удалось выяснить, почему сценарий зависает, так что пока я думаю использовать «грязное» решение, имея система уничтожит скрипт, если он займет больше времени, чем ожидалось, что может означать, что он завис.
Я могу сделать это, запустив его как timeout -s KILL 1m php script..php
, который убивает его через минуту, если я предполагаю, что он должен был закончиться в течение минута.
Однако, если убить его таким образом, это не решит проблему с временным файлом, и поэтому я хочу знать, есть ли способ как убить его, так и создать фатальный ошибка для скрипта, поэтому он будет удалять временную. файл