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

Основните дистрибуции на Linux използват Systemd, система за инициализиране, която работи въз основа на разрешаване и деактивиране на „сервизни“ файлове. Ако се опитвате да изброите тези служебни файлове, но не знаете как да го направите, ще трябва да използвате командата systemctl.

В това ръководство ще разгледаме различните начини, по които можете да изброите служебните файлове на Systemd в Linux. За да започнете, уверете се, че използвате операционна система Linux със Systemd. След това отворете прозорец на терминала и следвайте.

Използвайте Systemd, за да изброите активни услуги

Ако използвате Systemd много, в даден момент може да искате да знаете кои услуги са активни, докато вашата Linux система се зарежда. Изброяването на активни услуги е много лесно и можете да го направите с командата systemctl –type=service systemctl –type=service –state=running.

Тази команда, когато се изпълнява, ще покаже таблица с всички услуги, ако са активни, както и кратко описание. За да стартирате тази програма, отворете прозорец на терминала. След като прозорецът на терминала е отворен, изпълнете командата по-долу.

  Как да накарате вашия iPhone да крещи, когато го включите

systemctl --type=service --state=running

Ако се опитвате да филтрирате всички активни услуги за конкретна услуга, разглеждането на тази голяма таблица може да бъде доста досадно. За щастие командата systemctl може да се комбинира с командата grep като механизъм за филтриране.

Например, за да проверите дали “snapd.service” работи и се зарежда, можете да изпълните systemctl –type=service –state=running | grep ‘snapd’ и изходът ще покаже само услугата Snapd, вместо цялата таблица.

systemctl --type=service --state=running | grep 'snapd'

Ако искате да запишете резултата от таблицата в текстов файл за по-късно, използвайте следната команда.

systemctl --type=service --state=runningrunning > ~/active-services.txt

За да видите текстовия файл по всяко време, изпълнете командата cat по-долу.

cat ~/active-services.txt

Използвайте Systemd, за да изброите неактивни услуги

Изброяването на активни услуги на Systemd е полезно, но какво да кажем за неактивните? Да, възможно е да се изброят и тях. Ето как. Първо, отворете прозорец на терминала.

След като прозорецът на терминала е отворен и готов за използване, изпълнете командата systemctl –type=service, но в слота –state= поставете „неактивен“, а не „работещ“. По този начин можете да видите кои Systemd услуги са неактивни във вашата Linux система.

  Защо записът Dolby Vision HDR на iPhone 12 е голяма работа

systemctl --type=service --state=inactive

Както при активните услуги, Systemd ще създаде хубава, чиста таблица и ще ви покаже кои услуги на Systemd са неактивни, мъртви и не се използват. Ако искате да филтрирате през тази таблица, за да разберете дали конкретна услуга е мъртва, можете да я комбинирате с командата grep.

Например, за да определите дали файлът “updatedb.service” е неактивен, можете да комбинирате systemctl –type=service –state=inactive с командата grep по-долу, за да търсите в таблицата за него.

systemctl --type=service --state=inactive | grep 'updatedb.service'

Ако трябва да запишете всички неактивни служебни файлове на Systemd в текстов файл за четене по-късно, използвайте следната команда.

systemctl --type=service --state=inactive > ~/inactive-services.txt

За да прочетете този текстов файл направо от прозореца на терминала, използвайте командата cat.

cat  ~/inactive-services.txt

Използвайте Systemd, за да изброите всички инсталирани услуги

Ако трябва да видите всички инсталирани Systemd услуги, независимо дали са активни или не, ще трябва да използвате командата systemctl list-unit-files –type=service и да изключите превключвателя –state на командния ред. Като изключи –state, Systemd ще може с лекота да изброи всеки служебен файл на вашия компютър.

systemctl list-unit-files --type=service

След като горната команда бъде изпълнена, Systemd ще отпечата таблица с всеки сервизен файл в системата. От тук можете да сортирате таблицата, за да намерите служебния файл, от който се нуждаете.

  Какво е ултра широколентов и защо е в iPhone 11?

Ако не можете да намерите конкретен сервизен файл, можете да комбинирате командата systemctl list-unit-files –type=service с командата grep, за да използвате филтър. Използвайки командата по-долу, филтрирайте таблицата, за да намерите служебния файл, от който се нуждаете.

systemctl list-unit-files --type=service | grep 'my-service'

Искате ли да експортирате всички услуги на Systemd в текстов файл за четене по-късно? Изпълнете следната команда.

systemctl list-unit-files --type=service > ~/service-files.txt

Можете да видите текстовия файл по всяко време с командата cat по-долу.

cat ~/service-files.txt

Използвайте Systemd, за да покажете състоянието на отделната услуга

Въпреки че е полезно да знаете как да изброите всички услуги на Systemd, тези, които са активни и неактивни, също така е полезно да знаете как да изброите състоянието на услугите поотделно. Ето как да го направите.

Първо, отворете прозорец на терминала. След като прозорецът на терминала е отворен, използвайте командата systemctl status на конкретна услуга. Например, за да намерите състоянието на “NetworkManager.service”, се изпълнява следната команда.

systemctl status NetworkManager

Ако искате да експортирате изхода на командата status в текстов файл за по-късно четене, можете да въведете командата по-долу.

systemctl status MyService > ~/MyService-status.txt

За да видите този файл, изпълнете следната команда cat.

cat ~/MyService-status.txt