LINUX.ORG.RU

Пропусти вывод ps через grep и анализируй код возврата.

man grep
man ps

ЗЫ

Гугли классику - Керниган, Пайк "UNIX - универсальная среда программирования".

kosmonavt
()

monit. Запущенный от init.

Zulu ★★☆☆
()
Ответ на: комментарий от kosmonavt

Формат вывода ps системно-зависим, неизбежны гонки.

Если приложение ваше самодельное - научите его создавать и лочить pid-file. Если нет и система родная для этого сайта - man 1 flock (while true; do flock /var/run/pidfile myprog; done).

Если не помогает (приложение само "демонизируется") - man pidof, но это не решает второй проблемы. Впрочем, если у вас нет конкурентных 100 юзеров, это обычно неважно.

anonymous
()
Ответ на: комментарий от kosmonavt

ЧТо ты видишь по ps? proctitle(). А это не то что надо сверять: посмотри какой титл у, скажем, vsftpd?
Дальше. Сколько процессов ты порождаешь на ps|grep|grep -v? по крайней мере три. Плюс этот скрипт от крона (что требует рабочего крона). При LA > 50, например, на этот метод можно не надеяться вообще.

Zulu ★★☆☆
()

inittab <-- то что тебе нужно

fura13 ★★★
()

[ -n "`pgrep prilozhenie`" ] || prilozhenie

anonymous
()
Ответ на: комментарий от anonymous

> Если ... система родная для этого сайта - man 1 flock

Какая интересная штучка ... а давно ли она есть под Linux и есть ли она где-нибудь еще?

anonymous
()
Ответ на: комментарий от anonymous

> > Если ... система родная для этого сайта - man 1 flock

> Какая интересная штучка ... а давно ли она есть под Linux и есть ли она где-нибудь еще?

flock() есть дак давно, что успел устареть ;-)
fcntl() рулит!

Onanim
()
Ответ на: комментарий от Onanim

> flock() есть дак давно, что успел устареть ;-)

> fcntl() рулит!

Таки номер раздела мана, который я указал - нифига не 2 ;-)

anonymous
()

Что то вроде: 

while (true) {
   int pid = fork();
   if (pid == 0) {
          exec ....
   } else {
       wait(pid,....)
}

anonymous
()
Ответ на: комментарий от anonymous

flock в шелле нестандартна. В BSD flock нет, есть shlock В шелле портабельно делать локи с помощью виртуозного использования mv

dilmah ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.