Názor k článku
Debian bez systemd je za dveřmi: Devuan 1.0 RC2 od Filip Jirsák - Úplně jiné? Mohou tam být nastavené nějaké limity...

  • Článek je starý, nové názory již nelze přidávat.
  • 7. 5. 2017 12:33

    Filip Jirsák
    Stříbrný podporovatel

    Úplně jiné? Mohou tam být nastavené nějaké limity nebo capability, ale ty obvykle pro základní odladění nepotřebujete – a pokud ano, vidíte jejich nastavení v unit souboru. Mohou tam být jinak nastavené proměnné prostředí, ale ty opět vidíte v unit souboru.

    Moje zkušenost je taková, že když připravuju nějakou službu, nejprve si ji spouštím z shellu, služba mi běží na popředí, vidím její výstup. Když mám všechny parametry nastavené tak, jak potřebuju, jenom ten příkaz zkopíruju do unit souboru – a všechno funguje stejně, jako když jsem to pouštěl z shellu, standardní výstup vidím v logu. Když jsem to samé řešil se SysVInitem, narazil jsem typicky hned na začátku na dva problémy – za prvé, proces se typicky sám odforkováním daemonizoval, takže když jsem ho chtěl spustit z shellu, musel jsem daemonizaci zakázat – a služba se hned začala chovat jinak. Druhý problém byl, že standardní výstup byl v init skriptu typicky přesměrován do /dev/null, takže když jsem se chtěl dozvědět, co vlastně aplikace při startu vypisuje za chybu, musel jsem upravovat produkční init skript, přidávat do něj ladicí výpisy a doufat, že ho pak zase vrátím do původního stavu.

    Už před lety jsem právě kvůli tomuhle začal používat daemontools – protože už tenkrát mi připadalo šílené, že proces sám dělá něco jiného, když ho spustím ručně a když ho spustím pod správcem procesů. Mimochodem, řekl bych, že to, že spousta serverů implementuje daemonizaci, vypovídá o „kvalitě“ běžně používaného správce služeb – když serverový proces první, co udělá, je to, že se forkne, aby se dostal z dosahu správce služeb…