Остановка бесконечного цикла на удаленном сервере PHP

У меня есть простой бесконечный цикл for, который выглядит так:

set_time_limit (0);
for (;;)
{
    ... //Doing some stuff including to write to a file
    sleep(300);
}

Он работает на моем сервере. (Общая учетная запись хостинга)

Как я могу остановить его?

Ответы

Ответ 1

убить процесс. предполагая, что вы можете получить доступ к консоли через ssh, и ваш сервер работает в linux:

ps -ef | grep php // to get a list of php-processes

kill [process-id] // kill the process by process-id

Ответ 2

Вам может потребоваться обратиться в службу хостинга и попросить их убить ваш script. Скорее всего, у вас нет доступа к выполнению или ssh-доступа. Возможно, вы должны создать возможность выйти из своей программы при следующем создании бесконечного цикла.

Ответ 3

Я вошел в систему через SSH и попытался убить процесс, но он, похоже, не работал - возможно, неправильный процесс, поскольку там было немало.

Вы всегда можете перезапустить apache в качестве последнего средства; это исправит, -)

Ответ 4

Вы упомянули запись в файл.

Но если вы писали в базу данных, вы можете использовать инструмент базы данных, чтобы временно переименовать поле, которое вызовет ошибку и остановит ваш скрипт.

Горе общих серверов, быстрые разработки и опечатки.