Я слышал много разговоров о том, как демоны работают на моем компьютере Ubuntu - что это?
Короче говоря, Daemon - это фоновый процесс.
Демоны могут быть обычными программами, которые работают в фоновом режиме, однако большинство из них создаются путем запуска процесса, разворачивания его и выхода из родителя.
Чтобы развить процесс, нужно создать точную копию. Родитель этого процесса, если настоящий родитель заканчивается сразу, теперь является процессом init на /sbin/init, что является первым, что началось в каждой операционной системе, подобной Unix. Теперь этот процесс называется Daemon, у него нет TTY, связанного с ним.
Вот пример Демона в Python:
import sys, os, time
pid = os.fork()
# there now exist two processes
if pid > 0: # If this is the parent,
sys.exit(0) # quit.
# this is the background part:
time.sleep(5)
print "Hello, World!"
Это еще не один, строго говоря. Вам также необходимо будет изменить текущий рабочий каталог, отредактировать стандартный ввод и вывод в лог-файлы и так далее. Вы можете прочитать подробные сведения в этой статье в википедии.
Если вы запустите этот пример, вы заметите, что через две секунды он будет распечатан, даже если процесс, который вы начали в командной строке, завершен , Копия этого процесса запускается «по» init сейчас.
Как вы видите слой Daemon