O que é um Daemon?

12

Eu ouço muita conversa sobre Daemons rodando no meu computador Ubuntu - o que eles são?

    
por Marco Ceppi 15.02.2011 / 23:14

2 respostas

14

Em suma, um Daemon é um processo em segundo plano .

Daemons podem ser apenas programas normais executados em segundo plano, mas a maioria é criada iniciando um processo, forçando-o e saindo do pai.

Forçar um processo significa criar uma cópia exata dele. O pai desse processo, se o pai real termina imediatamente, é agora o processo init em /sbin/init , que é a primeira coisa que começou em cada operação Unix-like sistema. Agora, o processo é chamado de Daemon, não possui um TTY associado a ele.

Aqui está um exemplo de um Daemon em 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!"

Ainda não é um, estritamente falando. Você também teria que alterar o diretório de trabalho atual, redigir a entrada e a saída padrão para os arquivos de log e assim por diante. Você pode ler os detalhes do artigo da wikipedia .

Se você executar o exemplo, observará, após dois segundos, a impressão, mesmo que o processo iniciado na linha de comando tenha terminado. A cópia deste processo é executada 'por' init agora.

    
por Stefano Palazzo 15.02.2011 / 23:20
1
  

Em sistemas operacionais de computador multitarefa, um daemon é um computador   programa que é executado como um processo em segundo plano, em vez de estar sob o   controle direto de um usuário interativo. Tradicionalmente, o processo   nomes de um daemon terminam com a letra d, para esclarecimento de que   processo é, na verdade, um daemon, e para diferenciação entre um   daemon e um programa de computador normal. Por exemplo, o syslogd é o   daemon que implementa o recurso de registro do sistema, e o sshd é um   daemon que serve conexões SSH de entrada.

Como você pode ver a camada do Daemon

    
por Fares Younis 20.12.2016 / 18:46

Tags