Em resumo, além de links.
zumbi
um processo que foi encerrado / encerrado, mas cujo pai ainda não reconheceu a finalização (usando as chamadas do sistema wait()
). Os processos inativos são mantidos na tabela de processos para que seus pais possam ser informados de que o filho do processo filho está saindo e de seu status de saída. Normalmente, um programa de bifurcação de crianças também lê seu status de saída ao sair, então você verá zumbis somente se o pai estiver parado ou com problemas.
Veja:
- Um zumbi pode ter órfãos? As crianças órfãs serão perturbadas por colher o zumbi?
- Como o Linux trata os processos zumbis?
- página man do Linux
waitpid(2)
controlando terminal, sessão, primeiro plano, plano de fundo
Eles estão relacionados ao controle de tarefas no contexto de um shell executado em um terminal. Um usuário efetua login, uma sessão é iniciada, vinculada a um terminal (o terminal de controle) e um shell é iniciado. O shell executa os processos e os envia no primeiro plano e no plano de fundo, conforme desejado pelo usuário (usando &
ao iniciar o processo, parando-o com ^Z
, usando fg
e bg
).
Os processos em segundo plano são interrompidos se forem lidos ou gravados no terminal; processos em primeiro plano recebem o sinal de interrupção se ^C
for atingido no terminal. (É o driver de terminal do kernel que lida com esses sinais, o shell controla qual processo (grupo) é enviado para o primeiro ou segundo plano.
Veja:
- Diferença entre nohup, disown e &
- Manual de referência do bash: Noções básicas de controle de tarefas
daemon
Um processo em execução como um daemon geralmente é algo que não deve ser ligado a nenhum terminal específico (ou a uma sessão de login ou a um shell). Ele não deve ter um terminal de controle, para que ele não receba sinais se o terminal for fechado, e um geralmente não quer que ele faça E / S em um terminal. Iniciar um daemon a partir da linha de comando requer a quebra de todos os laços com o terminal, ou seja, iniciar uma nova sessão (no sentido de controle de tarefa acima) para se livrar do terminal de controle e fechar as alças de arquivo no terminal. É claro que algo iniciado a partir de init
, systemd ou similar fora de uma sessão de login não teria esses laços para começar.
Como um daemon não possui um terminal de controle, ele não está sujeito a controle de tarefas e não está em primeiro plano ou plano de fundo. Além disso, os daemons geralmente re-parentam para init
, que os limpa quando eles saem, então você não os vê como zumbis.
Veja: