LINUX.ORG.RU
Ответ на: комментарий от 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 ★★☆☆
()
Ответ на: комментарий от anonymous

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

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

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

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

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

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

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

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

> fcntl() рулит!

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

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

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

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