Запускаю скрипт в screen в цикле while(-1). Но он может завершится с надписью "killed" (Ограничение vds)
Мне нужно, чтобы другой скрипт всегда его проверял, работает ли он, если работает - ничего не делаем, а иначе - запускать его снова в этом же скрине.
1. Пробовал:
$fh = fopen(__FILE__, 'r');
if (!flock($fh, LOCK_EX | LOCK_NB)) {
die('Script is already running!');
}
запустил скрипт в скрине, вышел из него, попробовал еще раз запустить - вышло "'Script is already running!". Вроде бы кидай его на cron и все норм, но... Зашел снова в скрин, завершил работу скрипта (Ctrl + z) - запускаю снова и эта же надпись: "Script is already running!". В чем трабл?
2. Пробовал сохранять pid процесса, и проверять работает ли он:
if (posix_kill($pid, 0))
{
echo "Процесс запущен.";
}
В итоге хоть скрипт запущен или нет, все равно пишет, что "процесс запущен".