Igorka Лекция №25 - управление на демони

Днес ние говорим за Linux процеси. които са именуване - демони. и да видим как е контрола на демони (или услуги. Ако се правят сравнения с Windows). Основният процес разлика демон от нормалния процес на потребителя, че демон има терминала за управление, и съответно да взаимодейства с един потребител може само чрез други програми за контрол или скриптове. Така че, в най-простия случай, демон - изпълним файл или скрипт, който работи във фонов режим. Много често тези файлове завършват с писмо г (от демона): SSHD, HTTPD, cupsd - въпреки че това не е задължително.

Има сценарий за контрол за всеки демон за управление на демона. Има такива скриптове обикновено са в директорията на /etc/init.d/. Това са скриптове, тъй като самият демон (само без писмо г в края), въпреки че това не е бърз правило. Например, /etc/init.d/ssh скрипт демон работи SSHD. която се намира в директорията / ЮЕсАр / sbin /.

Какво се разбира под демон контролира? Това е възможност за извършване на някои операции, като се започне демона, спрете, рестартиране, принудени изключване и рестартиране, и някои други. Ето защо, при стартиране се контролира от сценария, ние трябва да му даде възможност, която описва действието, произведени от демон. Тези параметри са строго определени и основните и най-често срещаните са:

начало - стартиране на обслужващата
спрете - Спрете демона
рестартира - рестартиране на демона
презареждане - на рестартиране (препрочитането конфигурационни файлове) настройки демон
сила презареждане - принудително рестартиране на настройките на демона

Ако ще да се напише такъв контролен скрипт, трябва да се помни, че тя трябва да се справят с най-малко два параметъра: пускане и спиране. Можете да отворите скрипт от /etc/init.d/ директория и да видим как дизайнът се осъществява с помощта на параметри при управление на обработка.

Така че, нека да се опитаме да се спре и да започне на Cron демона. За да направите това в /etc/init.d/ директория съдържа контролен скрипт /etc/init.d/cron:

Debian: / Начало / Игор # /etc/init.d/cron
Предназначение: / и т.н. / init.d / Cron # 123; започнете | спрете | рестартирате | презареди | сила презареждане # 125; ,
Debian: / Начало / Игор # /etc/init.d/cron спирка
Спирането на периодичен команда разписание: crond.
Debian: / Начало / Игор # к.с. брадва | Впиши [с] Рон
Debian: / Начало / Игор # /etc/init.d/cron старт
Като се започне периодично команда разписание: crond.
Debian: / Начало / Игор # к.с. брадва | Впиши [с] Рон
6524. Сс 0: 00 / ЮЕсАр / sbin / Cron

Ако го използвате без никакви параметри (линия 1), ще видим намек какви параметри трябва да бъдат предадени на този скрипт (линия 2). Опитвайки се да се започне с параметър спирка (линия 3) и проверете дали демонът спря (линия 5). След това стартирайте демон (линия 6) и се проверява (линия 8). По същия начин има управлението на други демони.

Нека сега да видим как се случва старта на демони по време на зареждане на операционната система Linux и по време на спиране. Както можете да се помни, в Linux, има такова нещо като ниво на стартиране - тичам ниво на системата. На всяко ниво на стартиране на системата се изпълняват точно определено количество демони. При прехода от ниво на ниво, демоните, които не работят - завършени и че трябва да работи - бягай. За да се укаже на системата, което демоните на какво ниво трябва да започне да стартирате или спрете в различните дистрибуции, има специално проектирани за тази програма. Но сега ние имаме поглед върху механизма на работа на демони функционирането на системата, за да се разбере същността си.

В директорията / и др има директория с име rcN.d. където N - е символ, обозначаващ ниво на стартиране, на които каталога. Тоест, ние имаме следните каталози: rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d, rc6.d и rcS.d. Ако се вгледате в съдържанието на директории, ще видите, че те съдържат символични връзки към скриптове в /etc/init.d/ директорията:

Символни връзки са именувани според следното правило: първо има голяма латинска буква S или К. след това двуцифрено число, а след това на текущия скрипт именуване, което се отнася символична връзка. Писмото К в името на връзката означава, че сценарият за който се отнася, трябва да бъде изпълнена с опцията за спиране. Това е K11cron (линия 6) означава, че /etc/init.d/cron команда за спиране се изпълнява. Това е демон Cron ще бъде спряно. Съответно, писмото се посочва, че сценарият, който определя връзката трябва да бъдат изпълнени със старт параметър. Номерът на двуцифрено определя реда на изпълнение на скриптове, и следователно по реда на стартиране или завършване на демони. Първия манш скриптове с по-малък брой. Така разбрах, скриптове зависимост резолюция (демони). Например, Cron услуга трябва да бъде спряно само след apache2 демон се спира (линии 6 и 3). Ако символни връзки и същ номер, това означава, че демоните не са зависими от един към друг и скриптове могат да бъдат изпълнени в произволен ред. Трябва също да се отбележи, че първия манш всички скриптове с буквата К. и то само всички скриптове с буквата S.

Както е известно, всички потребителски процеси (както и на тези демони са) да започне с процеса на първоначален. и че последователно чете файл / и т.н. / inittab. Сред другите в / и т.н. / inittab има следните редове:

l0: 0. изчакайте. / И т.н. / init.d / RC 0
l1: 1. изчакайте. / И т.н. / init.d / RC 1
L2: 2. изчакайте. / И т.н. / init.d / RC 2
L3: 3. изчакайте. / И т.н. / init.d / RC 3
l4: 4. чакане. / И т.н. / init.d / RC 4
L5: 5. изчакайте. / И т.н. / init.d / RC 5
L6: 6. изчакайте. / И т.н. / init.d / RC 6

Когато системата отива към всяко ниво на работа. например, в шестия, а след това на /etc/init.d/rc скрипт. която се предава като параметър, за да започнете номера на ниво - 6. В резултат на тяхната работа /etc/init.d/rc скрипт започва да се изпълнява в съответствие с посочените по-горе правила, всички скриптове, които имат символична връзка в /etc/rc6.d/ директория. В опростена форма, името на всеки символна връзка се превръща от тип K01gdm в /etc/init.d/gdm спиране. и S10sysklogd в /etc/init.d/sysklogd старт.

Така че, ако искате някой демон се стартира (или спряна) на желаното ниво, което трябва да се създаде символна връзка в съответната /etc/rcN.d/ директория. Например, ако вие не искате да стартирате демона Cron на всички нива означава /etc/rcN.d/ от всички директории, които искате да премахнете тип връзка S80cron.

Ако имате собствен демон (напр mydaemon в контролен скрипт mydaemon) и искате да пуснете на 5-ти ниво, след това работи в /etc/rc5.d/ директория трябва да създадете символна връзка:

Управление на природен скрипт трябва да бъде в директорията на /etc/init.d/.

Премахване и добавяне на символните /etc/rcN.d/ директории могат да бъдат конфигурирани да се започне и да се спре демоните се движат на съответните равнища.

### BEGIN INIT INFO
# Осигурява: apache2
# Задължително-Start: $ local_fs $ remote_fs $ мрежа $ Syslog
# Задължително-Stop: $ local_fs $ remote_fs $ мрежа $ Syslog
# Подразбиране-Старт: 2 3 4 5
# Default-Stop: 0 01 юни
# Късо Описание: Старт / стоп apache2 уеб сървър
### END INIT INFO

Ако се изпълни chkconfig без допълнителни параметри, те водят ще бъдат създадени с буквата S в каталози /etc/rcN.d да тече нива - 2 3 4 5 и буквата K в /etc/rcN.d директории да работят нива 0 1 6.

И все пак това не би навредило да споменем за работа с услуги в Fedora | RH | CentOS
Има една услуга полезност
Пример услуга уеб-рестартиране
Така че в Ubuntu и Debian му много липсва (по подразбиране не е там)
Позира като #aptitude инсталирате sysvconfig

Аз го прилагат, ако тези пакети от nepodhodit програма трябва да Кампильо, и по този начин се рестартира сценария не е в /etc/init.d/
например така Събиране proftpd. Само по този начин и може да perezapustkat.

Между другото това е по едно и също време въпрос. И какво ще правиш в този случай, тъй като не е сигурен, че съм бил прав.

Валери, благодаря за коментара. За услугата полезност лектор бе споменато, но виждам, че съм го пропуснал и не се споменава в лекцията си. В близко бъдеще се определи.
За това, че не е скрипт ... Може би аз неразбрани (аз съм просто се уча), но обикновено сценария трябва да бъде. Може би това не е реализиран опция за рестартиране, но да спре, старт трябва да бъде. А това означава, че можете да регулирате сценария за да добавите в случай - рестарт, който ще бъде предизвикателство в първа спирка, а след това да започне. В допълнение към Ubuntu сега има парвеню, което налага свои собствени характеристики.

Има Ubuntu услуги, най-малко 9.10 GDM мрежови услуги да го управляват.

Благодаря за статията, виж, там не е печатна грешка? Ти пишеш:
"Когато системата преминава върху всяко ниво на работа, например, в шести, а след това на /etc/init.d/rc скрипт, който се предава като параметър, за да започнете номера на ниво - 6. В резултат на тяхната работа /etc/init.d/rc скрипт Той започва да се изпълнява в съответствие с посочените по-горе правила, всички скриптове, които имат символична връзка в /etc/rc5.d/ директория. "

Вероятно това означаваше "/etc/rc6.d/"?

Благодарим Ви, че се отписали.
Всъщност печатна грешка. Вече коригира.