LINUX.ORG.RU

debian, корректная остановка сервисов запускаемых вручную


1

1

Привет. Есть сервисы, запуск которых оключен, я их запускаю вручную когда они нужны. Проблема в том, что при выключении/ребуте не происходит вызов их скриптов с аргументом stop. Вместо этого происходит варварский kill. Сервисы я отключал при помощи rcconf, sysv-rc-conf, с обоими результат одинаковый.

Собственно вопрос: Как сделать так, чтобы сервисы запускаемые вручную останавливались корректным образом?


Вообще странно, но можете создать символическую ссылку на уровни запуске 6 и 0

/etc/init.d/<name_servise> -> /etc/rc.0/K<name_service>
/etc/init.d/<name_servise> -> /etc/rc.6/K<name_service>

Не помню где точно в Debian лежат директории с указанием какие скрипты на каком уровне запуска запускать, останавливать., но по аналогии разберётесь.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

ХМ, вроде должно быть KXX<name_service>, где XX - номер., указывающий порядок запуска, в случае с SXX<name_service>, или порядок остановки.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Оно так и есть, apache, mysql, openvpn, tor, privoxy отключены. Однако все они грохаются вместо нормальной остановки.

root@debian:~# ls -l /etc/rc0.d/
итого 4
lrwxrwxrwx 1 root root  20 Сен  6  2010 K01alsa-utils -> ../init.d/alsa-utils
lrwxrwxrwx 1 root root  17 Сен  8  2010 K01anacron -> ../init.d/anacron
lrwxrwxrwx 1 root root  17 Авг 19 15:31 K01apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root  13 Сен  6  2010 K01atd -> ../init.d/atd
lrwxrwxrwx 1 root root  15 Сен  6  2010 K01exim4 -> ../init.d/exim4
lrwxrwxrwx 1 root root  13 Сен  6  2010 K01gpm -> ../init.d/gpm
lrwxrwxrwx 1 root root  13 Фев 14  2011 K01kdm -> ../init.d/kdm
lrwxrwxrwx 1 root root  17 Авг  6 16:08 K01openvpn -> ../init.d/openvpn
lrwxrwxrwx 1 root root  17 Авг 19 17:49 K01privoxy -> ../init.d/privoxy
lrwxrwxrwx 1 root root  13 Июл 14 04:27 K01tor -> ../init.d/tor
lrwxrwxrwx 1 root root  17 Сен  6  2010 K01urandom -> ../init.d/urandom
lrwxrwxrwx 1 root root  15 Авг 19 15:30 K02mysql -> ../init.d/mysql
lrwxrwxrwx 1 root root  18 Июл 25 13:42 K03sendsigs -> ../init.d/sendsigs
lrwxrwxrwx 1 root root  17 Июл 25 13:42 K04rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root  20 Июл 25 13:42 K05hwclock.sh -> ../init.d/hwclock.sh
lrwxrwxrwx 1 root root  22 Июл 25 13:42 K05umountnfs.sh -> ../init.d/umountnfs.sh
lrwxrwxrwx 1 root root  20 Июл 25 13:42 K06networking -> ../init.d/networking
lrwxrwxrwx 1 root root  18 Июл 25 13:42 K07ifupdown -> ../init.d/ifupdown
lrwxrwxrwx 1 root root  18 Июл 25 13:42 K08umountfs -> ../init.d/umountfs
lrwxrwxrwx 1 root root  20 Авг 15 05:03 K09cryptdisks -> ../init.d/cryptdisks
lrwxrwxrwx 1 root root  26 Авг 15 05:03 K10cryptdisks-early -> ../init.d/cryptdisks-early
lrwxrwxrwx 1 root root  20 Авг 15 05:03 K11umountroot -> ../init.d/umountroot
lrwxrwxrwx 1 root root  14 Авг 15 05:03 K12halt -> ../init.d/halt
-rw-r--r-- 1 root root 353 Янв  1  2011 README
root@debian:~# ls -l /etc/rc6.d/
итого 4
lrwxrwxrwx 1 root root  20 Сен  6  2010 K01alsa-utils -> ../init.d/alsa-utils
lrwxrwxrwx 1 root root  17 Сен  8  2010 K01anacron -> ../init.d/anacron
lrwxrwxrwx 1 root root  17 Авг 19 15:31 K01apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root  13 Сен  6  2010 K01atd -> ../init.d/atd
lrwxrwxrwx 1 root root  15 Сен  6  2010 K01exim4 -> ../init.d/exim4
lrwxrwxrwx 1 root root  13 Сен  6  2010 K01gpm -> ../init.d/gpm
lrwxrwxrwx 1 root root  13 Фев 14  2011 K01kdm -> ../init.d/kdm
lrwxrwxrwx 1 root root  17 Авг  6 16:08 K01openvpn -> ../init.d/openvpn
lrwxrwxrwx 1 root root  17 Авг 19 17:49 K01privoxy -> ../init.d/privoxy
lrwxrwxrwx 1 root root  13 Июл 14 04:27 K01tor -> ../init.d/tor
lrwxrwxrwx 1 root root  17 Сен  6  2010 K01urandom -> ../init.d/urandom
lrwxrwxrwx 1 root root  15 Авг 19 15:30 K02mysql -> ../init.d/mysql
lrwxrwxrwx 1 root root  18 Июл 25 13:42 K03sendsigs -> ../init.d/sendsigs
lrwxrwxrwx 1 root root  17 Июл 25 13:42 K04rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root  20 Июл 25 13:42 K05hwclock.sh -> ../init.d/hwclock.sh
lrwxrwxrwx 1 root root  22 Июл 25 13:42 K05umountnfs.sh -> ../init.d/umountnfs.sh
lrwxrwxrwx 1 root root  20 Июл 25 13:42 K06networking -> ../init.d/networking
lrwxrwxrwx 1 root root  18 Июл 25 13:42 K07ifupdown -> ../init.d/ifupdown
lrwxrwxrwx 1 root root  18 Июл 25 13:42 K08umountfs -> ../init.d/umountfs
lrwxrwxrwx 1 root root  20 Авг 15 05:03 K09cryptdisks -> ../init.d/cryptdisks
lrwxrwxrwx 1 root root  26 Авг 15 05:03 K10cryptdisks-early -> ../init.d/cryptdisks-early
lrwxrwxrwx 1 root root  20 Авг 15 05:03 K11umountroot -> ../init.d/umountroot
lrwxrwxrwx 1 root root  16 Авг 15 05:03 K12reboot -> ../init.d/reboot
-rw-r--r-- 1 root root 351 Янв  1  2011 README
root@debian:~# ls -l /etc/rc2.d/
итого 4
lrwxrwxrwx 1 root root  17 Авг 19 15:31 K01apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root  17 Авг  6 16:08 K01openvpn -> ../init.d/openvpn
lrwxrwxrwx 1 root root  17 Авг 19 17:49 K01privoxy -> ../init.d/privoxy
lrwxrwxrwx 1 root root  13 Июл 14 04:27 K01tor -> ../init.d/tor
lrwxrwxrwx 1 root root  15 Авг 19 15:31 K02mysql -> ../init.d/mysql
-rw-r--r-- 1 root root 677 Янв  1  2011 README
lrwxrwxrwx 1 root root  23 Сен  6  2010 S01nvidia-kernel -> ../init.d/nvidia-kernel
lrwxrwxrwx 1 root root  17 Сен  8  2010 S01rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root  15 Авг 19 17:49 S02acpid -> ../init.d/acpid
lrwxrwxrwx 1 root root  17 Авг 19 17:49 S02anacron -> ../init.d/anacron
lrwxrwxrwx 1 root root  13 Авг 19 17:49 S02atd -> ../init.d/atd
lrwxrwxrwx 1 root root  14 Авг 19 17:49 S02cron -> ../init.d/cron
lrwxrwxrwx 1 root root  14 Авг 19 17:49 S02dbus -> ../init.d/dbus
lrwxrwxrwx 1 root root  15 Авг 19 17:49 S02exim4 -> ../init.d/exim4
lrwxrwxrwx 1 root root  13 Авг 19 17:49 S02gpm -> ../init.d/gpm
lrwxrwxrwx 1 root root  15 Авг 19 17:49 S02rsync -> ../init.d/rsync
lrwxrwxrwx 1 root root  23 Авг 19 17:49 S02smartmontools -> ../init.d/smartmontools
lrwxrwxrwx 1 root root  13 Авг 19 17:49 S03hal -> ../init.d/hal
lrwxrwxrwx 1 root root  13 Авг 19 17:49 S04kdm -> ../init.d/kdm
lrwxrwxrwx 1 root root  18 Авг 19 17:49 S05bootlogs -> ../init.d/bootlogs
lrwxrwxrwx 1 root root  18 Авг 19 17:49 S06rc.local -> ../init.d/rc.local
lrwxrwxrwx 1 root root  19 Авг 19 17:49 S06rmnologin -> ../init.d/rmnologin
lrwxrwxrwx 1 root root  23 Авг 19 17:49 S06stop-bootlogd -> ../init.d/stop-bootlogd

PoMbl4
() автор топика
Ответ на: комментарий от PoMbl4

Помойму kill происходит в любом лучае, у вас в каталоге /var/run/ после запуска сервиса создаются файлы *.pid, в которых записан Proces Identificator, когда вы вызываете /etc/init.d/<service_name> stop, сценарий запуска вызывает kill <pid>, в соответствии с именем сервиса и файла в /var/run/.

kostik87 ★★★★★
()

Сделайте в самих скриптах:
# Default-Stop: 0 1 6
# Default-Start:

И запустите:
insserv -v <имя_скрипта>

Теперь при переходе на соответствующий runlevel (выключение/single-user/перезагрузка) будет вызван соответствующий init-скрипт с параметром stop.

AITap ★★★★★
()
Ответ на: комментарий от AITap

Благодарю, результат достигнут.

PoMbl4
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.