Úvod
Linux poskytuje jemnou kontrolu nad systémovými službami prostřednictvím systemd pomocí systemctl příkaz . Služby lze zapnout, vypnout, restartovat, znovu načíst nebo dokonce povolit či zakázat při bootování. Pokud používáte Debian 7, CentOS 7 nebo Ubuntu 15.04 (nebo novější), váš systém pravděpodobně používá systemd.
Tato příručka vám ukáže, jak používat základní příkazy ke spouštění, zastavování a restartování služeb v systému Linux.
Předpoklady
- Přístup k uživatelskému účtu pomocí sudo nebo root privilegia
- Přístup k terminálu/příkazovému řádku
- systemctl nástroj, který je součástí Linux
Základní syntaxe příkazu systemctl
Základní syntaxe pro použití systemctl příkaz je:
systemctl [command] [service_name]
Obvykle to budete muset spustit jako superuživatel, přičemž každý příkaz začíná sudo
.
Jak zkontrolovat, zda služba běží v systému Linux
Chcete-li ověřit, zda je služba aktivní nebo ne, spusťte tento příkaz:
sudo systemctl status apache2
Nahraďte apache2 s požadovanou službou. V našem případě jsme zkontrolovali stav Apache. Výstup ukazuje, že služba je aktivní (běžící) , jako na obrázku níže:
Jak restartovat službu
Chcete-li zastavit a restartovat službu v systému Linux , použijte příkaz:
sudo systemctl restart SERVICE_NAME
Po tomto okamžiku by vaše služba měla být znovu spuštěna. Stav můžete ověřit pomocí status
příkaz.
Chcete-li restartovat server Apache, použijte:
sudo systemctl restart apache2
Jak znovu načíst službu
Chcete-li službě vynutit opětovné načtení konfiguračních souborů, zadejte do terminálu následující příkaz:
sudo systemctl reload SERVICE_NAME
Po opětovném načtení bude služba v provozu. Zkontrolujte jeho stav pomocí status
příkaz pro potvrzení.
V našem příkladu jsme znovu načetli Apache pomocí:
sudo systemctl reload apache2
Jak spustit službu
Chcete-li spustit službu v systému Linux ručně, zadejte do terminálu následující:
sudo systemctl start SERVICE_NAME
Například příkaz ke spuštění služby Apache je:
sudo systemctl start apache2
Jak zastavit službu
Chcete-li zastavit aktivní službu v systému Linux, použijte následující příkaz:
sudo systemctl stop SERVICE_NAME
Pokud je služba, kterou chcete zastavit, Apache, příkaz je:
sudo systemctl stop apache2
Zkontrolujte, zda služba přestala běžet se status
příkaz. Výstup by měl ukazovat, že služba je neaktivní (mrtvá) .
Jak povolit službu při spouštění
Chcete-li nakonfigurovat službu tak, aby se spustila při spuštění systému, použijte příkaz:
sudo systemctl enable SERVICE_NAME
Chcete-li povolit Apache při spouštění systému, spusťte příkaz:
sudo systemctl enable apache2
Jak zakázat službu při spouštění
Spuštění služby při bootování můžete zabránit příkazem:
sudo systemctl disable SERVICE_NAME
Například:
sudo systemctl disable apache2
Varianty názvů služeb
Pokud pracujete ve stejném prostředí Linuxu, naučíte se názvy služeb, které běžně používáte.
Pokud například vytváříte web, s největší pravděpodobností použijete systemctl restart apache2
často, když obnovujete změny konfigurace na vašem serveru.
Když však přecházíte mezi různými variantami Linuxu, je užitečné vědět, že stejná služba může mít v různých distribucích různé názvy.
Například v Ubuntu a dalších distribucích založených na Debianu se služba Apache jmenuje apache2. V CentOS 7 a dalších distribucích RedHat se služba Apache nazývá httpd nebo httpd.service.