uses baseunix; var pid:longint; begin // порождаем демона pid:=fpfork(); if pid<0 then halt(1); // завершаем родительский процесс if pid>0 then begin writeln('Demonize process ',pid); halt(0); end; // код инициализации демона // обнуляем файловую маску, чтобы не зависить от файловой маски бывшего родителя fpumask(0); // создаем новую сессию для процесса, чтобы при завершении родителя не остаться "сиротой" // и не быть уничтоженным или переподключенным к init fpsetsid(); // меняем текущий каталог на корневой, чтобы не зависеть от корневого каталога бывшего родителя fpchdir('/'); // закрываем унаследованные стандартные потоки ввод-вывода fpclose(0); fpclose(1); fpclose(2); // здесь нужно добавить код обеспечения реакции на сигналы, например - для корректной остановки // код работы демона - бесконечный цикл // в данном примере просто бесконечно грузит процессор while true do ; end.