Diferença entre processo e serviço

1. Diferença entre processo e serviço

João Veloso
joaoVeloso

(usa Kali)

Enviado em 18/08/2021 - 23:51h

Existe uma diferença entre processo e serviço? Se sim, qual é a diferença e o que cada um faz?


  


2. Re: Diferença entre processo e serviço

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 19/08/2021 - 07:58h


Um daemon é um programa não interativo. Ele é separado do teclado e da exibição de qualquer usuário interativo. O daemon de palavra para denotar um programa de segundo plano é da cultura Unix; não é universal.

Um serviço é um programa que responde a solicitações de outros programas através 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 porta NFS é fornecido como um serviço portmap separado, que é implementado como o daemon portmapd .

Um serviço não precisa ser um daemon, mas geralmente é. Um aplicativo de usuário com uma GUI pode ter um serviço integrado: por exemplo, um aplicativo de compartilhamento de arquivos. Outro exemplo é o serviço X Window, que é tudo menos em segundo plano: ele assume 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 ao movimento de cada tecla e mouse.

Um processo é um ou mais threads de execução juntos com seu conjunto compartilhado de recursos, sendo os mais importantes o espaço de endereço e os descritores de arquivos abertos. Um processo cria um ambiente para esses encadeamentos de execução, que parecem ter uma máquina inteira para eles mesmos: é 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 thread 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 a seu 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 do tipo Unix. Os recursos do sistema são compartimentalizados em processos, e quase tudo é entendido como acontecendo dentro de um processo ou outro.


3. Re: Diferença entre processo e serviço

Buckminster
Buckminster

(usa Debian)

Enviado em 19/08/2021 - 15:54h

joaoVeloso escreveu:

Existe uma diferença entre processo e serviço? Se sim, qual é a diferença e o que cada um faz?


"Um processo nada mais é do que uma identificação de um serviço ou tarefa que está em execução. Os processos são criados automaticamente pelo sistema operacional quando um serviço ou uma tarefa é iniciado e, é através deles, que o sistema consegue ter controle total sobre os serviços e tarefas que estão em execução.
O LINUX possui um ótimo controle de serviços e processos em execução. Através deste controle, é possível especificar prioridades de execução, finalizar processos ociosos, finalizar processos travados, e redefinir prioridades de processos em execução. Essas são tarefas diárias de um administrador de sistemas LINUX."
http://gabrielborba.com.br/?page_id=367

"Cada serviço ou tarefa que você inicializa no Linux recebe um número (ou mais) de processo.
Os sistemas baseados em Unix precisam que um processo já existente se duplique para que a cópia possa ser atribuída a uma tarefa nova. Quando isso ocorre, o processo "copiado" recebe o nome de "processo pai", enquanto que o novo é denominado "processo filho". É nesse ponto que o PPID (Parent Process Identifier) passa a ser usado: o PPID de um processo nada mais é do que o PID de seu processo pai."
https://www.infowester.com/linprocessos.php

Grosso modo, processo na realidade se traduz como aquele número, o PID, que você vê com o comando ps.
Por exemplo, abra o navegador (chrome, firefox, qualquer um) e depois, no terminal, dê o comando top:
$ top <<< para sair do top dê um crtl c ou tecle q.

ou

$ ps lax <<< com esse comando aparece bem distintas as identificações entre PID e PPID.

surgirá uma lista e nesta lista aparecerá o PID que é o número do processo que está executando o serviço do navegador.
Você notará que em alguns serviços aparece um PID só; e em outros serviços aparecerá vários PIDs (que na verdade é um único PID com vários PPID [processo "pai" e processos "filhos"]) para cada serviço, isso depende, o sistema é quem controla isso.

Mais grosso modo ainda, serviços são os programas (navegadores, editores de texto, etc), aplicativos e outros; processos são instâncias de execução de cada serviço e cada serviço tem vários processos que recebem um número (o PID, o processo "pai") e vários sub-números (o PPID, os processos "filhos"). Esses números é o sistema quem dá aleatoriamente, randomicamente.

________________________________________________
Sanou tua dúvida, resolveu teu problema?
Então marque como Resolvido e escolha a Melhor Resposta!

Ou então execute:
# chown -R root:root /
# mount -o remount,rw /
# reboot

e veja o sistema derreter na sua frente.



4. Re: Diferença entre processo e serviço

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 19/08/2021 - 21:43h


Todo serviço é um (no mínimo) processo, mas nem todo processo é um serviço. Um serviço é uma tarefa. O processo é a forma como ele faz a tarefa.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts