Em comum com outras partes do antigo sistema operacional Unix, o termo 'daemon' revela pouco sobre qual seria sua função..

Um daemon é uma tarefa que é executada em segundo plano e há um pequeno exército deles que é iniciado quando você liga sua máquina. Existem daemons para controlar tarefas automatizadas, daemons para gerenciamento de energia e uso da CPU, daemons para impressão e daemons para gravar os logs do sistema. Alguns denotam seu status finalizando com a letra 'd', enquanto outros preferem o anonimato de nomes como 'binfmpt-support' ou 'brltty'.

Os daemons são obviamente uma parte importante do ambiente de execução. Mas também há um pequeno problema. Sem nenhuma inspiração divina, a distribuição média do Linux não pode adivinhar com precisão quais daemons serão úteis para você e quais não são. O resultado é que eles normalmente jogam pelo seguro e erram do lado da cautela.

Isso significa que sua área de trabalho pode incluir um daemon de gerenciamento de energia do laptop ou ferramentas Bluetooth, sendo que nenhum deles pode ser de grande utilidade. Eles ainda serão carregados e usarão memória valiosa, para que você possa economizar tempo de inicialização e memória gastando um pouco de tempo podando seus daemons e ajustando-os às suas próprias necessidades. O truque é saber quais cortar.

Serviços são o que a maioria das pessoas pensa quando considera daemons. Eles geralmente são iniciados no momento da inicialização e executados silenciosamente em segundo plano, mas não precisam necessariamente ser processos de gerenciamento de sistemas leves. Não há motivo para os conjuntos completos de aplicativos não serem considerados daemons.

Quais serviços estão e não estão sendo executados depende totalmente da sua distribuição e do que você está usando para sua distribuição. Se você estiver usando uma distribuição adequada para um ambiente de servidor, é provável que o servidor da Web Apache, junto com sua escola de aplicativos auxiliares, esteja em execução como um daemon.

Isso é um grande problema se você não precisar de um servidor web, e não faz muito tempo que distribuições como o Mandriva instalaram e rodaram um servidor web por padrão. É improvável que isso aconteça nesses tempos frugais, mas provavelmente ainda haverá algo que você não precisa executar em segundo plano.

Listar os possíveis infratores

Há muitas maneiras de listar quais serviços estão sendo executados, mas uma das maneiras mais claras de fazer isso é usar uma ferramenta de linha de comando chamada chkconfig. Talvez seja necessário instalá-lo manualmente por meio do gerenciador de pacotes, mas quando ele é executado a partir da linha de comandos, ele cria uma lista de serviços em execução e os envia para o terminal. A execução do comando em uma instalação padrão do Ubuntu nos deu 93 tarefas separadas, enquanto a execução do mesmo comando no OpenSUSE 11 nos deu 83 tarefas. A primeira coisa que você pode notar é que é difícil definir exatamente o que cada serviço é responsável. Aqui está um corte do topo da saída do chkconfig na nossa máquina Ubuntu:

suporte a acpi 2345
ápido 2345
alsa-utils desativado
anacron 2345
apmd on

Os nomes de serviço estão listados à esquerda, enquanto à direita de cada um deles está uma descrição do nível de execução do serviço. Linux e Unix antes dele, usa diferentes níveis de execução para executar serviços diferentes. Por exemplo, o nível de execução 1 é normalmente usado como um modo de manutenção do sistema de usuário único. Isso pode significar que não há serviços de rede e certamente não haverá um desktop gráfico.

Na saída do exemplo acima, você pode ver que o daemon anacron, que lida com tarefas em execução em um momento específico, só estará em execução quando o sistema for inicializado nos níveis de execução 2, 3, 4 e 5. O problema com runlevels é que não há um padrão particular em todas as distribuições. Os únicos níveis comuns a todas as distribuições são 1 e 6, que são usados ​​para interromper e reinicializar a máquina, respectivamente. Runlevel 3 no Gentoo é o ambiente multiusuário completo com um desktop. Esse é o nível de execução 4 no Slackware e no nível de execução 5 no Ubuntu, Fedora e OpenSUSE.