— krupal6022
Esse é um ajuste melhor para o StackOverflow, onde já foi convenientemente solicitado e respondido .
@ Tom: Não, essa postagem do SE não responde o que é um serviço. E, em geral, as respostas aqui são mais elaboradas.
@ TomBrossman, a postagem que você vinculou não fala de serviços .
StackOverflow é sobre codificação. deamons são uma coisa unix, não há melhor lugar para perguntar do que aqui
Hã? como essa questão poderia ser encerrada?
— Jacob Vlijm 15/01
Daemons - Daemon não representa Disk and Execution Monitor ( http://www.takeourword.com/TOW146/page4.html ). Eles são os processos executados em segundo plano e não são interativos. Eles não têm terminal de controle.
Eles executam certas ações em horários predefinidos ou em resposta a determinados eventos. No * NIX, os nomes dos daemons terminam em d .
Se você está se perguntando por que o * NIX possui um comando chamado service , é usado apenas para executar scripts init (abreviação de inicialização scriptrunlevel ).
Processo - Processo é um programa em execução. Em um determinado momento, ele pode estar em execução , em suspensão ou zumbi (processo concluído, mas aguardando que o processo pai pegue o valor de retorno).
Processos têm mais alguns estados no Linux, aqui está um excelente diagrama: linux-tutorial.info/modules.php?name=MContent&pageid=84
Esta documentação oficial do Ubuntu fala sobre "serviços" e acho que eles não estão falando sobre o Windows! Então, devo apenas ler como daemon? help.ubuntu.com/community/UbuntuBootupHowto
De fato, o OP pergunta sobre serviços no Ubuntu, enquanto esta resposta fala sobre serviços no Windows. Então, obviamente, a resposta de Anon é a correta
monitores segundo a serverfault.com/questions/129055/... daemons e serviços não são os mesmos
Um daemon é um programa não interativo em segundo plano . Ele é desanexado do teclado e da exibição de qualquer usuário interativo. A palavra daemon para denotar um programa em segundo plano é da cultura Unix; não é universal.
Um serviço é um programa que responde a solicitações de outros programas por meio de algum mecanismo de comunicação entre processos (geralmente em uma rede). Um serviço é o que um servidor fornece. Por exemplo, o serviço de mapeamento de portas NFS é fornecido como um serviço separado de portmap, que é implementado como o portmapddaemon.
Um serviço não precisa ser um daemon, mas geralmente é. Um aplicativo de usuário com uma GUI pode ter um serviço embutido nele: por exemplo, um aplicativo de compartilhamento de arquivos. Outro exemplo é o serviço X Window, que está em segundo plano: ocupa a tela, o teclado e o dispositivo apontador. É um serviço porque responde a solicitações de aplicativos (para criar e manipular janelas etc.), que podem até estar em outro lugar na rede. Mas o serviço X também responde a todos os movimentos de teclas e movimentos do mouse.
Um processo é um ou mais encadeamentos de execução, juntamente com seu conjunto compartilhado de recursos, dos quais os mais importantes são o espaço de endereço e os descritores de arquivo aberto. Um processo cria um ambiente para esses encadeamentos de execução que parecem ter uma máquina inteira só para eles: é uma máquina virtual.
Dentro de um processo, os recursos de outros processos e do kernel são invisíveis e não estão diretamente acessíveis (pelo menos não para um encadeamento que está executando o código de espaço do usuário). Por exemplo, não há como se referir aos arquivos abertos de outro processo ou ao espaço de memória; é como se essas coisas nem existissem.
O processo, e sua relação com o kernel e outros processos, talvez constitua a abstração mais importante em sistemas operacionais semelhantes ao Unix. Os recursos do sistema são compartimentados em processos, e quase tudo é entendido como acontecendo dentro de um processo ou de outro.
Você não conseguiu obter a memória dos outros processos consultando diretamente a RAM do sistema?
Um processo geralmente não pode consultar diretamente a RAM do sistema. Os sistemas operacionais modernos usam espaços de endereço virtual ( en.wikipedia.org/wiki/Virtual_address_space ), o que significa que cada processo pode interagir apenas com uma visão falsa da memória, onde o sistema operacional controla exatamente o que é acessível.
"Um processo cria um ambiente para esses encadeamentos de execução que parecem ter uma máquina inteira só para eles: é uma máquina virtual". Uma maneira muito legal de dizer isso, nunca pensei nisso com tanta clareza. Mas é claro que a abstração está vazando. Assim, um processo que pode medir o tempo (o que pode ser feito através do processador) pode notar que não está sozinho na máquina. E é claro que o sistema operacional fornece mecanismos para enumerar outros processos.