The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"не получается разобраться с демонами"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"не получается разобраться с демонами"
Сообщение от Lexx Искать по авторуВ закладки on 15-Сен-02, 14:16  (MSK)
как сделать, чтобы добавить демон в автостарт? например хочу чтобы rexec запускался, что мне делать и что делает inetd ? подскажите...
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: не получается разобраться с демонами"
Сообщение от lavr emailИскать по авторуВ закладки on 15-Сен-02, 14:58  (MSK)
>как сделать, чтобы добавить демон в автостарт? например хочу чтобы rexec запускался,
>что мне делать и что делает inetd ? подскажите...

- для запуска standalone daemons в xBSD используется /etc/rc.local
и /usr/local/etc/rc.d/ в которой лежат стартуемые скрипты
в SYSV обычно /etc/init.d - здесь лежат все скрипты на которые
делают линки в уровнях загрузки:

- /etc/rc1[2,3,...].d:

- SzxName - где S - означает стартовый скрипт при загрузке или повышении
   уровня через `init N(номер уровня загрузки), Name - имя процедуры
   старта, например S80sshd
- KnmName - где K - означает что скрипт убивает данный сервис при
   понижении уровня загрузки или reboot/shutdown

Общий пример (Solaris):

ultra:/home/lavr> ls -la /etc/init.d/sshd
-rwxr--r--   1 root     other        933 Nov 22  2001 /etc/init.d/sshd
ultra:/home/lavr>

скрипт для up/down SSHD:
#!/sbin/sh
#
# /etc/init.d/sshd - Start/Stop the ssh daemon
#

#
# The network and streams should already be built by the time
# this script runs. /usr/local should be mounted.
#
# If sshd is already executing, don't re-execute it.
#
#-set -x
PATH=/usr/bin:/bin

case $1 in
'start')
        if [ -f /usr/local/sbin/sshd -a -f /usr/local/etc/ssh/sshd_config ]; the
n
                /usr/local/sbin/sshd;
        fi      
        ;;
'stop')
        if [ -f /var/log/sshd.pid ]; then
                /usr/bin/kill -TERM `cat /var/log/sshd.pid`
        else
                pid=`/usr/bin/ps -e -o pid,comm | /usr/bin/grep sshd | /usr/bin/
grep -v grep | grep -v /sbin/sh | /usr/bin/sed -e 's/^  *//' -e 's/ .*//'`
                if test "$pid"
                then
                        /usr/bin/kill -TERM $pid
                fi
        fi
        /bin/rm -f /var/log/sshd.pid
        ;;
'restart')
        if [ -f /var/log/sshd.pid ]; then
                /usr/bin/kill -HUP `cat /var/log/sshd.pid`
        else
                echo "No pid file /var/log/sshd.pid"
        fi
        ;;
*)
        echo "usage: /etc/init.d/sshd {start|stop|restart}"
        ;;
esac

Теперь создаем линки для старта-стопа SSHD на разных уровнях: 2,3

ultra:/home/lavr> ls -la /etc/rc2.d/*ssh*
lrwxrwxrwx   1 root     other         14 Aug 28  1997 /etc/rc2.d/S94sshd -> ../init.d/sshd
ultra:/home/lavr> ls -la /etc/rc1.d/*ssh*
lrwxrwxrwx   1 root     other         14 Aug 28  1997 /etc/rc1.d/K30sshd -> ../init.d/sshd
ultra:/home/lavr>

inetd - демон который открывает сокеты на определенных портах и если
есть соединение, запускает определенный демон для этого сервиса указанный
в /etc/inetd.conf

например:

[alone]~ > grep rshd /etc/inetd.conf
#shell  stream  tcp     nowait  root    /usr/libexec/rshd       rshd
#kshell stream  tcp     nowait  root    /usr/libexec/rshd       rshd -k
#shell  stream  tcp6    nowait  root    /usr/libexec/rshd       rshd
[alone]~ >

редактируем /etc/inetd.conf:
[alone]~ > grep rshd /etc/inetd.conf
#

shell  stream  tcp     nowait  root    /usr/libexec/rshd       rshd

#kshell stream  tcp     nowait  root    /usr/libexec/rshd       rshd -k
#shell  stream  tcp6    nowait  root    /usr/libexec/rshd       rshd
[alone]~ >

выдаем сигнал SIGHUP демону inetd чтобы он перечитал конфигурацию и
активизировал нужный сервис

В кратце где-то так, но для каждой OS свои особенности местоположения
rc.local (BSD) и init.d и директорий rc0[1...6].d (SYSV)

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру