ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [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