Поново покрените услугу користећи системцтл рестарт команду

Ponovo Pokrenite Uslugu Koristeci Sistemctl Restart Komandu



Тхе системд је менаџер системских услуга који се широко користи на Линук-у. Управљати системд услуге, тхе системцтл користи се услужни програм командне линије. Овај алат се такође користи за поновно покретање било које системд услуге.

Услугама на Линук-у се управља преко њихове конфигурационе датотеке. Ако се изврше измене у конфигурационој датотеци услуге, неопходно је покренути поновно покретање услуге да бисте применили измене. Након поновног покретања услуге, системд поново процењује конфигурациону датотеку и примењује измене.

У овом водичу ћу говорити о томе како да користим системцтл за поновно покретање услуге у Линуку.







Белешка: Овај водич укључује команде и упутства која се извршавају на Убунту 22.04. Команда ће радити без икаквих проблема на дистрибуцијама које долазе са системд сервис менаџером.



Системцтл наредба рестарт

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



Команда рестарт не уклања процесе који су повезани са услугом. Узмимо пример дескриптора датотека, који су ненегативни идентификатори које оперативни систем додељује датотекама које отвара услуга. Ако поново покренете услугу, дескриптор датотеке повезан са том услугом ће остати тамо током процеса поновног покретања.





Ако желите да избаците све повезане процесе са услугом, онда то морате експлицитно зауставити услуга и почетак поново.

Како поново покренути услугу

На Линук-у можете поново покренути услугу користећи судо системцтл алат командне линије са поново покренути опцију и навођење њеног имена. Општа синтакса је дата у наставку:



судо системцтл рестарт [ Име услуге ]

Требаћеш судо привилегије за поновно покретање услуге.

На пример, хајде да поново покренемо ссх услуга.

судо системцтл рестарт ссх.сервице

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

судо системцтл рестарт ссх.сервице смбд.сервице

Остале команде за поновно покретање су дате у табели испод:

покушајте поново покрените Зауставља или покреће наведену услугу или услуге и ако услуга није покренута, не покреће је
поново учитај или поново покрени Поново учитајте подржану услугу или услуге и ако услуга није подржана, поново је покрените и активирајте
покушајте поново учитајте или покушајте поново покрените Поново учитајте подржану услугу или услуге и ако услуга није подржана, поново је покрените без активирања

У горњим командама, .сервис проширење је опционо.

Како аутоматски поново покренути услугу

На Линук-у, ако услуга не успе, онда системд подразумевано поново покренуо. Без обзира на то, у многим случајевима може бити потребно да се измени начин на који се услуга поново покреће. На пример, можда ће требати ручна радња током процеса отклањања грешака прилагођене услуге.

Датотеке системске јединице или сервисне датотеке се налазе на /етц/системд/систем или /либ/системд/систем углавном у зависности од тога како је услуга креирана. Да бисте навели датотеке јединица на Линук-у, користите следећу команду:

лс / либ / системд / система

Можете видети конфигурационе датотеке различитих услуга. Хајде да отворимо ссх.сервице датотеку користећи нано уредник.

судо нано / либ / системд / система / ссх.сервице

Овде можете модификовати Поново покренути подешавање. Подразумевано је подешено на он-фаилуре . Друге опције за поновно покретање услуге су наведене у наставку:

  • Не
  • увек
  • на-успех
  • он-фаилуре
  • на-ненормалан
  • он-аборт
  • он-ватцхдог

Друга опција у датотеци услуге јединице је РестартСец који се користи за одређивање броја секунди након којих ће се услуга поново покренути.

[ Услуга ]

Поново покренути =увек

РестартСец = 5

Ова упутства значе да ће се услуга поново покренути при покретању и, ако се прекине, биће поново покренута након 5 секунди.

Након измене подешавања, извршите следећу команду да бисте применили промене.

судо системцтл релоад-даемон

Остале важне поставке које треба узети у обзир су СтартЛимитИнтервалСец и СтартЛимитБурст . Ове опције су корисне за подешавање максималног времена и максималног броја покушаја поновног покретања услуге.

[ Јединица ]

СтартЛимитИнтервалСец = 300

СтартЛимитБурст = 4

Горња инструкција указује да ће системд аутоматски престати да покушава да поново покрене услугу ако се не покрене након 300 секунди и 4 покушаја.

Да бисте проверили да ли се услуга поново покреће након 5 секунди или не, укините услугу користећи ПИД услуге и убити команда.

судо убити -9 [ ПИД ]

Након 5 секунди, услуга ће бити поново покренута; користити јоурналцтл команду за проверу статуса ссх.сервице .

јоурналцтл -ин ссх.сервице

Како поново покренути услугу када се зависна услуга поново покрене

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

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

  • Део
  • БиндсТо
  • Захтева

Све ове опције обављају исти задатак.

Узмимо пример ссх.сервице који зависи од аппармор.сервице; Линук безбедносни модул за обезбеђивање неопходног приступа. Да бисте навели зависности услуге у Линуку користите системцтл са листе-зависности назив команде и услуге.

системцтл листе-зависности ссх.сервице

Дакле, ако желите да поново покренете ссх.сервице када поново покренете аппармор.сервице, онда морате да укључите опцију ПартОф, БиндсТо или Рекуирес заједно са именом услуге у одељак [Јединица] датотеке аппармор.сервице.

Отворите аппармор.сервице датотеку.

судо нано / либ / системд / система / аппармор.сервице

Додајте следећи ред у одељак [Јединица].

Део =ссх.сервице

Сачувајте датотеку и извршите команду даемон-релоад.

судо системцтл даемон-релоад

Сада, поново покрените ссх.сервице а затим проверите аппармор.сервице Пријава.

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

Закључак

Да бисте поново покренули услугу или услуге на Линук-у, системцтл команда се користи са поново покренути опција. Тхе системцтл је услужни програм командне линије који се користи за управљање системским услугама. Тхе поново покренути опција покреће услугу, а затим је зауставља, активирајући неактивну услугу. Међутим, можете поново покренути услугу без њеног активирања користећи покушајте поново покрените опција.