När du använder en Linux-distribution körs vissa processer och tjänster tillsammans. Vissa kan köras i bakgrunden även utan användarens vetskap. Att ha onödiga tjänster som körs kan förbruka mycket av systemresurserna eller också utgöra en säkerhetsfråga om åtgärder inte beaktas.
därför finns det ett behov av att känna till alla tjänster som körs på ditt system., I den här artikeln tittar vi på alla möjliga sätt som du kan använda för att lista körtjänster på din Linux-maskin.
hur man kontrollerar att köra tjänster i Linux
Låt oss först få en god förståelse för Linux-tjänster. Om en tjänst har ett initialiseringsskript kommer det med tre statuser:
- start
- stopp
- starta om
alla som körs med kommandot – service., Om du till exempel vill starta om tjänsten network-manager kör du följande kommando:
sudo service network-manager restart
kommandot service refererar till varje tjänst med hjälp av init-skriptet lagrat i /etc/init.d för Ubuntu och någon annan Debianbaserad distro, och etc/rc.d/init.d för RedHat-baserade Linux-distributioner. Vissa servicenamn varierar från en distribution till en annan. Till exempel, Apache webserver service httpd på CentOS och Apache2 på Ubuntu.,
System V(SysV) | Upstart/Systemd
många Linux-distributioner omfattas av följande init-system:
- System V, vilket var det ursprungliga init-systemet.
- uppstart
- systemd, vilket är det senaste init-systemet som att skriva den här artikeln.
System V (SysV)
System V eller allmänt känd som SysV är ett gammalt init-system som används av äldre Linux-distributioner och går tillbaka till den ursprungliga Unix. SysV hanterar startprocessen med hjälp av skalskript som finns i / etc / init*. Om du använder / etc / init.,d / sshd börja starta eller stoppa en tjänst; då du använder på ett System V-system.
Upstart init System
det är ett händelsebaserat init-system som fungerade som ersättning för /sbin/init-demonen. Upstart init-systemet användes för att hantera start och stopp av tjänster under uppstart, avstängning och övervakning av dem medan systemet körs. Upstart utvecklades ursprungligen för Ubuntu Linux distro för att ersätta det gamla systemet V som används i andra äldre distributioner.
Systemd
det är det nya init-systemet som de flesta Linux-distributioner flyttar till., Det utvecklades för att påskynda startprocessen, hantera beroenden och mycket mer. Om du använder systemctl starta om sshd start för att starta eller stoppa en tjänst, då du använder på ett Systemd-system.
kontrollera alla tjänster som körs i ett System V(SysV) init-system
låt oss titta på några av de Terminalkommandon du kan använda för att lista alla tjänster som körs i ett SysV init-system.,
service --status-all
ovanstående kommando listar alla löpande tjänster i ditt system. Om de tjänster som körs är många kan du använda ytterligare parametrar – mer och mindre för att lista tjänsterna i en organiserad och tydlig vy.,99d8fa6″>
service --status-all | more
för att lista endast tjänster som för närvarande körs på systemet, kör kommandot nedan:
service --status-all | grep running
för att visa status för en viss tjänst, kör kommandot nedan:
service --status-all | grep e.gservice --status-all | grep httpd
alternativt kan du utföra kommandot nedan för att visa status för en viss tjänst.,för att lista alla tjänster som körs på ett Linux-system som kör Upstartinit-system, kör kommandot nedan:
initctl list
kontrollera alla körtjänster i ett Systemd init-system
för att lista alla körtjänster på ett Linux-system som kör Systemd init-system, kör kommandot nedan:
systemctl
systemctl
från ovanstående kommando ser vi att data visas i fem kolumner, nämligen enhet, belastning, aktiv, sub och beskrivning., Låt oss titta på vad varje kolumn står för:
- UNIT – visar motsvarande Systemd-enhetsnamn.
- LOAD – den här kolumnen visar om den aktuella enheten är laddad i minnet eller inte.
- Aktiv – denna kolumn anger om enheten används (aktiv) eller inte.
- sub – beskriver körläget för en viss enhet.
- beskrivning – ger en detaljerad beskrivning av en viss enhet.,
Du kan också lista körtjänster baserat på deras typ med kommandot nedan:
systemctl list-units --type service
Du kan använda kommandot nedan:
iv id = ” också lista tjänster baserade på deras nuvarande tillstånd. Det är relativt lik utgången från föregående kommando men lite enklare.,
systemctl list-unit-files --type service
To list the status of a particular service, execute the command below:
systemctl status e.gsystemctl status acpid.path