Системд Сервице Филе

Sistemd Service File



На Линук-у, системцтл статусни излаз показује да се услуга учитава кроз датотеку која се зове сервисна датотека. Овим датотекама се може приступити у /либ/системд/систем или /етц/системд/систем именике.

Сервисни фајлови имају .сервис проширења и садрже упутства која се захтевају по системд за управљање услугом.







Тхе системд инит систем управља иницијализацијом система користећи Јединица . Јединица је објекат који обавља задатак или радњу, као што је управљање услугом, што укључује њену контролу и праћење. Ове јединице су у суштини датотеке које се називају сервисне датотеке које укључују зависности јединица и команде. Ове датотеке су кључне за ефикасну контролу позадинских процеса и управљање ресурсима.



У водичу ћу истраживати системски фајл сервиса, његову структуру и главне директиве које контролишу услугу.



Када радите са системд, термини системд сервисни фајл и системд јединична датотека се често користе наизменично јер се технички односе на исту ствар.





Шта је Системд сервисна датотека

На Линук-у, системд управља услугама користећи сервисне датотеке које садрже инструкције за конфигурацију тако да системд може да разуме и изврши.

Да бисте навели јединице, користите системцтл са –пописне јединице команда.



системцтл --лист-јединице

Да бисте прочитали сервисну датотеку било које услуге, користите мачка команду са путањом датотеке.

мачка [ / сервис-фајл-путања ]

На пример, да видите сервисну датотеку ссх.сервице користите дату команду.

мачка / либ / системд / система / ссх.сервице

Анатомија Системд сервисне датотеке

Генерално, системске датотеке сервисне јединице садрже три одељка.

  • Јединица
  • Услуга
  • Инсталирај

Датотека јединице специфичне за услугу ће имати посебан одељак под називом Услуга одељак.

Имајте на уму да је услуга само врста јединице. Јединица може имати различите типове као што су утичница, уређај, монтирање, аутоматско монтирање, замена, циљ, тајмер, пресек и опсег. Ови делови су смештени између одељака Јединица и Инсталација. Екстензија датотеке ће такође бити замењена одговарајућим типом јединице, на пример, тип јединице утичнице ће имати а .соцкет екстензија датотеке.

Белешка: У овом водичу ћу се фокусирати на тип сервисне јединице због његове широке употребе од стране администратора и програмера.

Ови делови су наведени у угластим заградама ([]). Сваки одељак садржи релевантан скуп инструкција. У наставку је дата општа структура сервисне датотеке.

[ Јединица ]

Директива1 =Упутство 1

Директива2 =Упутство 2

[ Услуга ]

Директива1 =Упутство 1

Директива2 =Упутство 2

[ Инсталирај ]

Директива1 =Упутство 1

Директива2 =Упутство 2

Редослед секција се може мењати; међутим, горе поменути редослед се углавном поштује.

[Јединица] Секција

Одељак јединица садржи опис јединице и зависности јединице. Овај одељак се, по договору, налази на врху сервисне датотеке. Често коришћене директиве су наведене у наставку:

Директива Опис
Опис Ова директива се користи за помињање назива услуге. Дужина описа не сме бити већа од 80 карактера.
Документација Ова директива садржи ман страницу или УРЛ адресу услуге.
Захтева Ова директива се користи да помиње зависност од тренутне услуге. Ако се активација ове услуге зависности не изврши, тренутна услуга неће бити покренута.
Жели Ова директива се користи да помиње зависност од тренутне услуге. Међутим, ова услуга зависности није потребна да буде активирана да би се покренула тренутна услуга.
пре него што Након што је тренутна јединица активирана, сервис поменут у овој директиви ће бити покренут.
После Пре него што се тренутна јединица активира, сервис поменут у овој директиви ће бити покренут.
БиндсТо Ова директива повезује тренутну услугу са поменутом услугом. Ако се повезана услуга поново покрене, тренутне услуге ће се такође поново покренути.

Осим ових директива, постоје још две директиве; Стање и Ассерт. Многе услуге захтевају специфичне системске услове да би се успешно покренуле, а ове директиве се користе за спомињање услова.

Одељак [Инсталирај].

Овај одељак није обавезан и неопходан је само када услуга захтева активацију или деактивацију при покретању. Штавише, треба поменути и услугу алиас. Често коришћене директиве за одељак Инсталација су наведене у наставку:

Директива Опис
ВантедБи Ова директива поставља ниво покретања * циљ услуге. Ако је циљ постављен на вишекориснички.циљ тада ће услуга бити омогућена на овом нивоу покретања.
Тражи Ова директива личи на ВантедБи, међутим, чак и без зависности поменуте у директиви, услуга ће бити омогућена.
Алиас Ова директива се користи за омогућавање услуге са другим именом. Симболска веза се креира са овим именом када је услуга омогућена.

Углавном, тхе вишекориснички.циљ се користи као ВантедБи параметар. Али шта је мулти-усер.таргет?

Мулти-усер.таргет представља стање система спремно да прихвати неграфичке сесије више корисника. То је стање пре покретања ГУИ.

Постоје различити нивои покретања система, хајде да научимо о функцији ових нивоа рада.

У системд-у, услуге су груписане на основу нивоа покретања, који се називају мете . Сваки ниво покретања има датотеку са .таргет проширење у /етц/системд/систем именик. Услуга ће се покренути на основу стања нивоа покретања.

Рун Левел Циљеви Држава Фајлови
0 искључивање Искључите и искључите напајање поверофф.таргет
1 спасавање Покреће љуску за спасавање спасавање.циља
2,3,4 вишекориснички Покреће вишекорисничку не-ГУИ љуску вишекориснички.циљ
5 графички Успоставља вишекорисничку ГУИ шкољку графички.циљ
6 рестарт Искључите и поново покрените ребоот.таргет

[Сервис] Секција

Овај одељак садржи конфигурациона подешавања за услугу. Примарна конфигурација овог одељка је дефинисање типа и команди које ће се извршити на почетку услуге. Тип и ЕкецСтарт су главне директиве које се користе за постављање услуге.

Различити типови услуге су наведени у следећој табели.

сервис Тип Опис
једноставан То је подразумевани тип када се не помиње тип или име сабирнице, а помиње се само ЕкецСтарт. Системд прво извршава главни процес, а затим пратеће јединице.
рачвање Овај тип се користи за одржавање сервиса чак и ако је надређена услуга затворена. Он се рачва подређени процес након затварања родитељског процеса.
један ударац Системд прво извршава главни процес и када главни процес изађе, започеће пратеће јединице.
дбус Услуга са дбусом се користи за комуникацију са другим процесом на магистрали. Ако је име магистрале поменуто, онда ће процес бити активиран након што се добије име магистрале.
обавестити Услуга ће обавестити када започне процес. Системд ће наставити са јединицама за праћење након издавања обавештења.
неактиван Задржава услугу док сви активни послови не буду послати; првенствено корисно за побољшање излаза конзоле.

Упутства која се најчешће користе у одељку Услуге су наведене у наставку:

Директива Опис
ЕкецСтарт Задржава пуну путању команде која треба да се изврши да би се процес започео.
ЕкецСтартПре Задржава команде које треба извршити пре почетка главног процеса.
ЕкецСтартПост Задржава команде које треба извршити након што главни процес почне.
ЕкецРелоад Задржава наредбу за поновно учитавање конфигурације услуге.
Поново покренути Да аутоматски поново покренете услугу у околностима као што су неуспјех, успјех, ненормалан рад, прекид и надзор.
РестартСец Да задржите број секунди након којих ће се услуга аутоматски поново покренути.

Тхе ЕкецСтарт је једна од кључних директива које се користе у одељку Услуге. Садржи пуна путања извршне датотеке да ће услуга извршити при позивању.

Закључак

Системд сервисна датотека је конфигурациона датотека која је структурирана са директивама и командама тако да њима може управљати системд. Ове датотеке садрже упутства која показују како системд управља услугом. У овом водичу сам покрио како да приступим системској датотеци услуге, њеним одељцима и директивама које управљају услугама. Да бисте сазнали више о упутствима за сервисне датотеке, прочитајте пронађени званични водич за документацију овде .