GNU/Linux >> Znalost Linux >  >> Linux

Zkontrolujte spuštěné služby v systému Linux

Když potřebujete vyřešit problémy se síťovou službou, prvním krokem je ujistit se, že služba běží.

Pokud má služba nainstalovaný inicializační (init) skript, můžete použít službu příkaz ke spuštění, zastavení a kontrole stavu služby. Tento příkaz odkazuje na službu pomocí jejího init skriptu, který je uložen v /etc/init.d adresář pro distribuce založené na Debian® a etc/rc.d/init.d adresář pro distribuce založené na Red Hat®.

Pokud neznáte název, který systém používá pro službu, zkontrolujte některý z předchozích adresářů pomocí ls příkaz následovaný názvem adresáře. Některá jména se liší v závislosti na vaší distribuci. Například Apache® je httpd na CentOS® a apache2 v operačním systému Ubuntu®.

Poznámka :Mnoho novějších distribucí Linuxu používá systemd místo netstat zkontrolovat služby. Pokud používáte systemd , nahraďte všeslužba příkazy s systemct1 .Další informace o systemct1 příkazy, viz Cheatsheet Fedora™SysVinit to Systemd.

Zkontrolujte stav služby

Služba může mít kterýkoli z následujících stavů:

  • start :Služba byla spuštěna.
  • stop :Služba se zastavila.
  • restartovat :Služba se restartuje a spustí se po dokončení procesu.

Následující příklad ukazuje, jak zkontrolovat stav httpd na CentOSby pomocí služby příkaz:

$ sudo service httpd status
httpd is stopped

Spusťte službu

Pokud služba neběží, můžete použít službu příkaz k jeho spuštění. Následující příklad začíná httpd služba:

$ sudo service httpd start
Starting httpd:                                            [  OK  ]

Pokud aplikaci nelze spustit, systém ohlásí selhání a obvykle zobrazí zprávu, která označuje příčinu problému.

$ sudo service httpd start
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
[FAILED]

Použijte netstat k nalezení konfliktů portů

V předchozím příkladu httpd nelze spustit, protože na portu již něco poslouchá. Chcete-li zjistit, co poslouchá, můžete spustit netstat příkaz.

Spuštěním následujícího příkazu zobrazíte seznam naslouchacích programů a portů, které používají:

# netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 10.176.77.113:3306          0.0.0.0:*                   LISTEN      28509/mysqld
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      2113/nc
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1115/master
tcp        0      0 :::22                       :::*                        LISTEN      1051/sshd

Výstup ukazuje, že nc program (který se objeví v Název programu sloupec) naslouchá na portu 80 (který se objeví v Local Address sloupec). Zastavení tohoto programu by mělo povolit httpd začít.

Poznámka :Další informace o netstat viz Kontrola naslouchacích portů pomocí netstat.

Zkontrolujte stav xinetd

Pokud služba neběží, může to být způsobeno tím, že superserver, jako je Extended Internet Service Daemon (xinetd ) se používá ke spuštění programu, když je přijato spojení. Pokud je to tento případ, spuštění služby mohlo problém vyřešit. Spuštěním následujícího příkazu ověřte, že je problém vyřešen:

$ sudo service xinetd status
xinetd (pid  8795) is running...

Kontrola protokolů

Pokud službu nemůžete spustit, zkontrolujte své protokoly, abyste zjistili, zda neobsahují informace o problému.

Další kroky

Až si budete jisti, že aplikace běží, zkontrolujte zdroje serveru a ověřte, kolik vaše aplikace spotřebovává.


Linux
  1. Zkontrolujte, která služba na daném portu linux naslouchá

  2. Jak vypsat Systemd Services v Linuxu

  3. Služba operačního systému Linux „nfs“

  1. Služba operačního systému Linux „microcode_ctl“

  2. Služba operačního systému Linux „hplip“

  3. Jak zkontrolovat, zda konkrétní služba běží na Ubuntu

  1. Služba operačního systému Linux „dhcpd“

  2. Služba Linux OS „anacron“

  3. Linux OS Service „iptables“