[Comm] старт-script и процесс.pid

Vyacheslav Brunev =?iso-8859-1?q?bv_=CE=C1_gres=2Etomske=2Eelektra=2Eru?=
Пт Апр 11 05:56:39 MSD 2008


В сообщении от Thursday 10 April 2008 17:46:20 Pavlov Konstantin написал(а):
> On Thu, Apr 10, 2008 at 04:34:48PM +0700, Vyacheslav Brunev wrote:
> > Здравствуйте уважаемые подписчики!
> >
> > В который раз вынужден просить у Вас помощи в доселе не виданном
> > проблемном вопросе. Проблема состоит в следующем - в директории
> > /etc/init.d/ есть скрипт назовём его 'progr', со следующим участком кода
> > (для запуска программы):
> >
> > PIDFILE=/var/run/prog.pid
> > LOCKFILE=/var/lock/subsys/progr
> > RETVAL=0
> >
> > start()
> > {
> >         is_yes "$NETWORKING" || return 0
> >        start_daemon --make-pidfile --pidfile "$PIDFILE" --lockfile
> > "$LOCKFILE" \--expect-user root -- /usr/sbin/progr
> >         RETVAL=$?
> >         return $RETVAL
> > }
> >
> > Всё работает и запускается, НО после запуска программе присваивается PID
> > ровно на единицу больше чем записывается в /var/run/progr.pid.
> > Соответственно корректно выключить её я уже не могу т.к. для останова
> > (см. ниже) скрипт смотрит в /var/run/, а там номер на единицу меньше.
>
> Видимо, программа сама создает pid-файл.  Уберите --make-pidfile из
> start_daemon.

Спасибо за совет. Я тоже опытным путём пришёл к такому рабочему варианту.
Если убрать эту инструкцию, соответственно вообще не 
создаётся /var/run/vsftpd.pid, поэтому и выкидываю вообще из скрипта 
строчки  --pidfile "$PIDFILE" и как ни странно всё начинает корректно 
работать. Правда хотелось иметь pid-файл с номером процесса...
Странно ещё то, что для других программ (если добавить такие-же инструкции), 
то скрипт работает корректно, а тут....шайтан :(

-- 
С уважением, Вячеслав.


Подробная информация о списке рассылки community