Как обеспечить перезапуск программы при ее отключении в freebsd?

unix freebsd jabber cron ps

нужен скрипт на языке любой оболочки(как вариант на питоне) обеспечивающий:
1. узнать, есть ли программа (например с именем процесса sulci) в списке процессов
1.1 если есть - ничего не делать
1.2 если нет - запустить эту программу (двумя командами - cd /home/bots/sulci/ и sulci) и записать в лог дату и время
2 пингануть сервер jabber.org
2.1 если нет пинга - завершить программу, и пинговать сервер допустим раз полчаса,
2.2 когда пинг пройдет - вновь запустить программу

действия 1 и 2 должны совершаться независимо друг от друга, но желательно, если нет пинга - не выполнять действие 1, чтоб не загружать дополнительно процессор и не увеличивать лог зря

буду рад любым вариантам, даже скрипту обеспечивающиму только действие 1

я в freebsd новичек, и не знаю даже примерно как реализовать проверку нахождения программы в списке процессов... вариант - запрос ps, с последующей проверкой на название программы
Ответы:
почитайте [1]
комманды которые могут приготиться:
ps A - список всех процессов
ps A | grep sulci - отфильтровать список
test - проверка условий
if ... ; then ... ; fi - условный оператор
echo `date` >>file.log - дописать текущую дату в лог
sleep 30 - подождать полчаса
Я под линуксом недавно себе monit поставил. Вот  ссылка на русском, как его под freeBSD поставить [1].
Есть аналоги с более мощной функциональностью - но мне показалось, monit проще в конфигурации.
В дополнение к ответу roma:
сначало так и хотел, через крон делать, потом по ссылке от ub нашел программу monitord (вообще интереснейший сайтег) поставил ее - все работает хорошо, одна программа запускается, а вторая не хочет...
я понимаю что можно запускать программу и как ./jabber-shell.py или /home/jabber-shell.py, но чего-то она ругаеться на это, побороть пока не смог..
блин, при запуске ./jabber-shell.py он запускается с именем процесса /usr/local/bin/python ./jabber-shell.py
немногим лучше
сделал скрипт =) так и не работают эти программы с процесами, в имени которых пробел есть ((
сам скрипт: (нуна програмка pidof, есть в портах, мелкая)
==========================
#APP=sulci
echo "Sulci"


17 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.