Při práci s služby v distroV závislosti na typu systému, který používáte (SysV init, Upstart, systemd,…), se může lišit způsob, jakým mohou být služby zastaveny, spuštěny, zastaveny, restartovány atd. Je to bod, kdy mnozí pochybují o tom, jak se to vlastně děje, a skutečnost, že existuje několik různých systémů, nepomůže některým nezkušenějším uživatelům, kteří se o to pokusí pomocí nesprávného příkazu.
Proto ukážu jednoduchý tutoriál, pomocí kterého vám bude jasnější, jak můžete pracovat v distribuci, ať je to cokoli. K tomu musíte mít jasno v první řadě, jaký typ démona používáte. Jak jsem řekl, ne všechny distribuce používají stejné typ spouštěcího systému. Ve skutečnosti, jak víte, se někteří postavili proti novému systému a vytvořili vidlice nebo deriváty se starým SysV, jako je tomu u Devuanu ve srovnání s Debianem ...
Jak poznám systém, který moje distribuce používá? Zjistíte to prohledáním těchto tras, a pokud je máte, budete mít tento systém v distribuci:
- Chcete-li vědět, jestli máte systemd: najít cestu / usr / lib / systemd
- Chcete-li vědět, jestli máte Upstart: najít tuto jinou cestu / usr / share / upstart
- Chcete-li vědět, jestli máte SysV init: najít cestu /etc/init.d
- Tam otrosI když je to trochu vzácnější, v těchto konkrétních případech můžete udělat něco podobného, pokud máte podezření, že nejde o výše uvedené.
Další způsob, jak to ještě usnadnit, protože je to stejné pro všechny, je hledat informace v / proc o PID = 1, tj. první proces, od kterého ostatní visí a který přesně odpovídá tomuto spouštěcímu démonovi. Chcete-li to provést, stačí spustit následující příkaz a vrátí název:
sudo stat /proc/1/exe
Nyní víte, jaký máte systém, pojďme tedy příkazy, které můžete použít ke správě služeb:
- sysv init: /etc/init.d/[service_demon_name] [akce]
- systemd: systemctl [action] [service_demon_name]
- Povýšenec: service [service_demon_name] [action]
- ostatní: Pokud používáte jiný systém, podívejte se raději na příručku. Například některé vzácné případy v systému Linux a jiných unixech mohou k resetování služby použít signál z procesu SIGHUP: kill -HUP $ (cat / var / run / [service-PID])
měli byste nahradit [akce] za to, co musíte udělat. Například pokud potřebujete restartovat, použijte reset, chcete-li zastavit, použijte stop, chcete-li začít používat hvězdu atd. A nahraďte [daemon_name] názvem démona služby, kterou chcete spustit. Například:
systemctl reset httpd
Doufám, že to teď máte jasnější.
Existují ještě systémy se spuštěním? Myslím, že jen nějaký starý Ubuntu.
I když máte systemd, stále můžete mít složku etc / init.d
Dávám přednost použití jiného příkazu, jako je ps nebo pstree, a nezneužívám sudo-this-sudo-that.
pozdravy
Příkaz „service“ funguje v systémech init.d i systemd