[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