[sisyphus] Fwd: Re: [Comm] start-stop-daemon
Dmitry V. Levin
=?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Вс Май 25 22:59:17 MSD 2003
On Sun, May 25, 2003 at 09:37:24PM +0400, Fred wrote:
> > от Самого:
> > root]# service smb status
> > smbd is running
> > nmbd is running
> >
> > от себя, любимого:
> > fred]$ service smb status
> > smbd is stopped
> > nmbd is stopped
> >
> > Лихо!
> > Я опять чего-то не прочитал о каких-нибудь изменениях? :)
> > Укажите, плз.
> > А то у меня мониторящий скриптик крутится, там на service smb status
> > кой-чего завязано. Не от рута ж его теперь пускать...
>
> Да, есть такой момент.
> Пишите в sisyphus@, в этом списке рассылки я вам на этот в целом
> неплохой вопрос не отвечу - policy запрещает.
Начиная с того момента, как эта часть initscripts переехала в пакет
service, в реализации произошли существенные изменения, см. моё
развёрнутое письмо на эту тему в архиве devel на .
В частности, status вычисляется более аккуратно, ввиду чего пользователь
не может достоверно установить, запущен ли рутом тот или иной сервис.
Впрочем, с меньшей степенью достоверности (а именно, с той же, что и
раньше) найти процесс можно.
Рассмотрим вкратце эту ситуацию на примере crond, который, в отличие от
smb, запущен практически у всех:
# /etc/init.d/crond status
crond is running
$ /etc/init.d/crond status
crond is dead, but stale PID file exists
$ sh -x /etc/init.d/crond status 2>&1 |grep '^+ start-stop-daemon'
+ start-stop-daemon --stop --test --exec /usr/sbin/crond --pidfile /var/run/crond.pid --user root
$ /sbin/start-stop-daemon --stop --test --exec /usr/sbin/crond --pidfile /var/run/crond.pid --user root
No /usr/sbin/crond found running; none killed.
# /sbin/start-stop-daemon --stop --test --exec /usr/sbin/crond --pidfile /var/run/crond.pid --user root
Would send signal 15 to 3014.
Из приведённого примера видно, что start-stop-daemon(8) не нашёл процесс /usr/sbin/crond.
То же самое говорит и pidof(8):
$ echo "pid=$(pidof /usr/sbin/crond)"
pid=
# echo "pid=$(pidof /usr/sbin/crond)"
pid=3014
В то же самое время:
$ pidof crond
3014
$ /sbin/start-stop-daemon --stop --test --name crond --pidfile /var/run/crond.pid --user root
Would send signal 15 to 3014.
Ну вот, выводы делайте сами.
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20030525/42f7d437/attachment-0010.bin>
Подробная информация о списке рассылки Sisyphus