Демон -inetd, подробно описанный далее в разделе “Применение супердемона inetd”, предоставляет удобный способ автоматического запуска серверов, применяемых только время от времени.
Работа в фоновом режиме в системах Windows и Macintosh.
Ни в системе Macintosh, ни Microsoft Windows не существует понятия, аналогичном фоновым процессам системы UNIX. В настоящем разделе описано, как заставить постоянно работающие сетевые приложения вести себя на этих платформах подобно демонам. К подобным демонам могут относиться приложения, например, выполняющие автоматические действия по раскрутке сайтов в Ярославле или других регионах.
В системе Macintosh в настоящее время лучше всего обеспечить автоматический запуск сетевого сценария во время начальной загрузки, поместив файл сценария Perl в подпапку Startup Items папки System. Во время начальной загрузки будет запущено приложение MacPerl, которое выполнит сценарий. Однако, как только приложение Mar Perl будет закрыто, сервер прекратит свою работу наряду со всеми другими выполняемыми сценариями Perl.
Можно также придать этому серверу вид работающего в фоновом режиме, запустив в сценарии модуль Mac::Apps::Launch и немедленно вызвав функцию сокрытия Hide (), в которой в качестве имени скрываемого приложения будет указано Mac Perl. Описанную общую схему иллюстрирует следующий фрагмент кода:
use Mac::Apps::Launch;
Hide(MacPerl => 1) or warn $^E;
(В дистрибутиве MacPerl глобальная переменная $^E возвращает информацию об ошибках, которая относится к системе Macintosh.) Чтобы приложение снова стало видимым, можно запустить программу MacPerl, после чего приложение будет переведено на передний план.
В системе Microsoft Windows предусмотрен более универсальный метод превращения приложений в фоновые демоны с использованием применяемой в ней системы так называемых “служб”. Службы применяются только в системах Windows. Для этого требуются две утилиты: instsrv.exe и srvany.exe, которые не входят в состав стандартных дистрибутивов, но представляют соответствующие расширения, предусмотренные в комплектах ресурсов.