|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Mykola Dzham 2:5020/400 25 Oct 2006 11:24:13 To : Eugene Grosbein Subject : Re: Прошу помощи -------------------------------------------------------------------------------- Eugene Grosbein wrote: > 25 окт 2006, среда, в 06:05 KRAST, Sergey Melnikov написал(а): > > AT>> freebsd 6.2.1 в качестве роутера > AT>> popfile 0.22.4 в качестве спамфильтра на роутере > AT>> (http://popfile.sourceforge.net/) > AT>> popfile периодически сваливается. > AT>> написали cron-у (/etc/crontab) > AT>> * * * * * root /usr/local/sbin/start-popfile.sh > AT>> надо написать теперь этот start-popfile.sh > SM> #!/bin/sh > SM> str=`ps -ax | grep popfile |grep -v grep` > SM> if [ -z "$str" ] > SM> then > SM> /usr/local/etc/rc.d/popfile.sh start > SM> fi > > Какой кошмар. Во-первых, вовсе незачем делать px | grep | grep -v grep. > У ps есть замечательный ключик -c, который гарантирует, что grep > в вывод не попадет, то есть можно так: ps -acx | grep popfile. И без сохранений в переменную, а сразу одной строкой: pc -acx | grep -q popfile || /usr/local/etc/rc.d/popfile.sh start > Во-вторых, не нужно вообще выбирать список процессов и фильтровать его. > Живость процесса проверяется при помощи if kill -0 $pid, Плохой, не годный способ :) Человек хотел проверить живость popfile а не живость процесса, с пидом, записанном в popfile.pid , а ведь popfile мог уже свалиться и под этим pid-ом мог уже жить другой процесс. > ну а по имени if killall -0 popfile. Так может пройти -- LEFT-(UANIC|RIPE) JID: levsha@jabber.net.ua --- ifmail v.2.15dev5.3 * Origin: National Taras Shevchenko University of Kyiv (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/104906c816ad5.html, оценка из 5, голосов 10
|