O que é um Daemon?

Este estranho termo é uma relíquia da história do Unix, mas daemons ainda estão em uso hoje. O termo é sinônimo do conceito de "serviço", uma tarefa que é executada continuamente, normalmente sem interação do usuário.

Existem vários exemplos comuns de daemons e, mesmo que você não precise saber exatamente como eles funcionam, é pelo menos útil ser capaz de identificá-los.

O que é um Daemon?

Um daemon ou Disk And Execution MONitor é um programa executado como um processo em segundo plano, em vez de um processo interativo. Daemons são comuns entre ferramentas de rede e tarefas de administração do sistema. Você pode controlar alguns daemons enviando sinais para eles.

Como você pronuncia “Daemon”?

Apesar das aparências, a palavra daemon é tipicamente pronunciada da mesma forma que a palavra "demônio". Fique tranquilo, não tem nada a ver com rituais satânicos. Na verdade, o nome em última análise deriva da mitologia grega e do conceito de um espírito-guia, trabalhando incansavelmente em segundo plano. Nesse sentido, é um nome muito adequado!

Como funcionam os daemons?

Em sistemas Unix, o termo daemon é freqüentemente usado de forma intercambiável com o termo processo de segundo plano. Em outras palavras, é um processo que foi separado de qualquer shell e continua a ser executado de forma não interativa. Um verdadeiro daemon também deve se atribuir como filho do processo especial de inicialização que possui o ID de processo especial número 1.

Outras tarefas típicas envolvidas no isolamento do daemon incluem:

  • Sandboxing removendo variáveis ​​desnecessárias de seu ambiente.
  • Configurando o diretório raiz (/) como o diretório de trabalho atual do processo.
  • Redirecionando as descrições de arquivo para entrada, saída e erro para arquivos de log ou / dev / null .

Outros sistemas, como Windows e macOS, também usam daemons. No caso do Windows, os serviços são o equivalente mais próximo.

Quais são alguns demônios comuns?

Cron ( crond ) é um daemon que executa outros programas em uma programação. A maioria dos sistemas Unix o configura para ser executado automaticamente na inicialização. Ele desperta uma vez por minuto, verifica os arquivos de configuração e executa todos os comandos definidos para serem executados durante esse minuto. O Cron é inteligente o suficiente para reagir às mudanças nos arquivos crontab quando eles mudam. Você não precisa reiniciá-lo sozinho.

Veja também: Como usar o Crontab para automatizar tarefas repetitivas no Linux

Servidores da Web, como o httpd do Apache, geralmente são executados como daemons – é o que o “d” significa. O daemon Apache lida com solicitações de entrada criando um pool de processos filhos para compartilhar a carga. Você pode usar um programa auxiliar, como apachectl , para controlar mais facilmente o daemon httpd em si.

Finalmente, o sshd é outro exemplo comum de daemon, desta vez um que lida com conexões SSH. Novamente, ele normalmente começa na inicialização e permanece em execução indefinidamente, contando com sinais para certas operações. Por exemplo, um sinal SIGHUP faz com que o sshd se reexecute, recarregando seu arquivo de configuração ao fazer isso.

Consulte também: O que é SSH e o que ele representa?

Daemons são provedores de serviços vitais

Daemons são executados continuamente, realizando tarefas vitais para manter o computador funcionando. Freqüentemente, eles estão envolvidos quando um computador precisa atuar como servidor, agindo em nome de outros clientes.

Daemons são um componente vital de um servidor Linux. Se você é novo na configuração de um servidor, verifique nossas dicas para começar.