GNU/Linux >> Znalost Linux >  >> Linux

Jaký je rozdíl mezi spuštěním programu jako démona a jeho začleněním do pozadí pomocí „&“?

Jaké jsou praktické rozdíly z pohledu správce systému při nasazování služeb v systému založeném na unixu?

Přijatá odpověď:

Tradiční způsob démonizace je:

fork()
setsid()
close(0) /* and /dev/null as fd 0, 1 and 2 */
close(1)
close(2)
fork()

Tím je zajištěno, že proces již není ve stejné skupině procesů jako terminál, a proto nebude společně s ním zabit. Přesměrování IO má zajistit, aby se výstup neobjevil na terminálu.


Linux
  1. Jaký je rozdíl mezi $(stuff) a `stuff`?

  2. Rozdíl mezi [[ $a ==Z* ]] a [ $a ==Z* ]?

  3. Jaký je rozdíl mezi /sbin/nologin a /bin/false?

  1. Rozdíl mezi .exrc a .vimrc?

  2. Rozdíl mezi „$ . Foo“ A „$ ./foo“??

  3. Linux – Jaký je rozdíl mezi `su -` a `su –login`?

  1. Rozdíl mezi Nss a Pam?

  2. Jaký je rozdíl mezi Print a Printf v Awk?

  3. Rozdíl mezi fork(), vfork(), exec() a clone()