Watchdog для своих скриптов или проверка состояния процесса

По просьбе одного камрада. Хотя мне самому такая штука давно нужна, т.к. апач на одном серваке любит отвалиться 🙂
Постарался написать как можно короче, пхп тут постольку поскольку, основная работа на баше.
Вкратце, чего делает. Запрашивает пид у процесса с именем $processName, если возвращается пустая строка, то запускается скрипт по указанному пути $pathToScript

<?php
$processName = 'script.php';
$pathToScript = '/home/alex/script.php';
$check = exec("ps a | grep " .$processName. " | grep -v grep | awk '{print $1}'");
if(strlen($check) < 1){
	    exec("php ". $pathToScript ." ");
	} else {
	    echo 'all done\r\n';
	}

?>

По задумке ставится на минутный крон.

0.00 avg. rating (0% score) - 0 votes

6 комментариев

  • отлично. спасибо!
    пиши почаще ))

  • Опечатка наверно.
    Запускаешь $path, а путь к скрипту в переменной $parhToScript.

    • PocketDevil, поправил

  • Писали нечто подобное, прекрасно работает уже год. Но у нас еще проверка памяти вот такая, а то что-то скрипт зажирался иногда:
    $mem = exec(«ps aux | grep «.$program.» | grep -v grep | grep -v su | awk {‘print $4’}»);

  • А зачем было вообще использовать php, можно же было для этих целей просто скрипт на баше написать и в крон.

  • отличная статейка, ох уж эти серваки…

css.php