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

Vyacheslav Brunev =?iso-8859-1?q?bv_=CE=C1_gres=2Etomske=2Eelektra=2Eru?=
Чт Апр 10 13:34:48 MSD 2008


Здравствуйте уважаемые подписчики!

В который раз вынужден просить у Вас помощи в доселе не виданном проблемном 
вопросе. Проблема состоит в следующем - в директории /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/, а там номер на единицу меньше. В ответ на введённую 
команду: service progr stop 
следует примерно такой ответ - программа не запущена, не отвлекайте по 
пустякам от работы :(

Участок кода для остановки программы:

stop()
{
        stop_daemon --lockfile "$LOCKFILE" \
--expect-user root /usr/sbin/progr --pidfile "$PIDFILE"
        RETVAL=$?
        return "$RETVAL"
}

Подскажите, что может быть не так?

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


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