* [Comm] старт-script и процесс.pid
@ 2008-04-10 9:34 Vyacheslav Brunev
2008-04-10 10:46 ` Pavlov Konstantin
0 siblings, 1 reply; 4+ messages in thread
From: Vyacheslav Brunev @ 2008-04-10 9:34 UTC (permalink / raw)
To: ALT Linux Community general discussions
Здравствуйте уважаемые подписчики!
В который раз вынужден просить у Вас помощи в доселе не виданном проблемном
вопросе. Проблема состоит в следующем - в директории /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"
}
Подскажите, что может быть не так?
--
С уважением, Вячеслав.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Comm] старт-script и процесс.pid
2008-04-10 9:34 [Comm] старт-script и процесс.pid Vyacheslav Brunev
@ 2008-04-10 10:46 ` Pavlov Konstantin
2008-04-11 1:56 ` Vyacheslav Brunev
0 siblings, 1 reply; 4+ messages in thread
From: Pavlov Konstantin @ 2008-04-10 10:46 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 1151 bytes --]
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.
--
А в чём проблема собрать то, что стало orphaned?
Или оно не работает?
-- ldv in devel@
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Comm] старт-script и процесс.pid
2008-04-10 10:46 ` Pavlov Konstantin
@ 2008-04-11 1:56 ` Vyacheslav Brunev
2008-04-11 9:27 ` Dmitry V. Levin
0 siblings, 1 reply; 4+ messages in thread
From: Vyacheslav Brunev @ 2008-04-11 1:56 UTC (permalink / raw)
To: ALT Linux Community general discussions
В сообщении от 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-файл с номером процесса...
Странно ещё то, что для других программ (если добавить такие-же инструкции),
то скрипт работает корректно, а тут....шайтан :(
--
С уважением, Вячеслав.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Comm] старт-script и процесс.pid
2008-04-11 1:56 ` Vyacheslav Brunev
@ 2008-04-11 9:27 ` Dmitry V. Levin
0 siblings, 0 replies; 4+ messages in thread
From: Dmitry V. Levin @ 2008-04-11 9:27 UTC (permalink / raw)
To: ALT Linux general discussion list
[-- Attachment #1: Type: text/plain, Size: 1128 bytes --]
On Fri, Apr 11, 2008 at 08:56:39AM +0700, Vyacheslav Brunev wrote:
> В сообщении от Thursday 10 April 2008 17:46:20 Pavlov Konstantin написал(а):
> > On Thu, Apr 10, 2008 at 04:34:48PM +0700, Vyacheslav Brunev wrote:
[...]
> > > 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.
>
> Спасибо за совет. Я тоже опытным путём пришёл к такому рабочему варианту.
И вообще, избегайте использовать --make-pidfile без острой необходимости.
См. описание --make-pidfile в start-stop-daemon(8).
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-04-11 9:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-10 9:34 [Comm] старт-script и процесс.pid Vyacheslav Brunev
2008-04-10 10:46 ` Pavlov Konstantin
2008-04-11 1:56 ` Vyacheslav Brunev
2008-04-11 9:27 ` Dmitry V. Levin
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git