Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Processos no Linux
Linux user
wester
23/11/2005
Este artigo descreve de maneira básica o tão importante conceito de processos no Linux e, em seguida, mostra quais os meios mais usados para controlá-los e manipulá-los.
Por: Emerson Alecrim
[ Hits: 72828 ]
Conceito: 9.9   10 voto(s)10 voto(s)10 voto(s)10 voto(s)10 voto(s) + quero dar nota ao artigo

Introdução

Nos sistemas operacionais, um processo é a forma de representar um programa em execução. É o processo que utiliza os recursos do computador - processador, memória, etc - para a realização das tarefas para as quais a máquina é destinada. A seguir, você verá os principais conceitos relacionados a processos no Linux e as ferramentas usadas para manipulá-los e gerenciá-los.

Composição de um processo


O sistema operacional lida com uma infinidade de processos e, por isso, é necessário ter meios que permitam controlá-los. Para isso, os processos contam com um conjunto de características, dentre as quais:
  • Proprietário do processo;
  • Estado do processo (em espera, em execução, etc);
  • Prioridade de execução;
  • Recursos de memória.

O trabalho de gerenciamento de processos precisa contar com as informações acima e com outras de igual importância para que as tarefas sejam executadas da maneira mais eficiente. Um dos meios usados para isso é atribuir a cada processo um PID.

PID e PPID


Um PID (Process Identifier) é um número de identificação que o sistema dá a cada processo. Para cada novo processo, um novo número deve ser atribuído, ou seja, não se pode ter um único PID para dois ou mais processos ao mesmo tempo.

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.

UID e GID


Conforme já mencionado, cada processo precisa de um proprietário, um usuário que seja considerado seu dono. A partir daí, o sistema saberá, através das permissões fornecidas pelo proprietário, quem pode e quem não pode executar o processo em questão. Para lidar com os donos, o sistema usa os números UID e GID.

O Linux gerencia os usuários e os grupos através de números conhecidos como UID (User Identifier) e GID (Group Identifier). Como é possível perceber, UID são números de usuários e GID são números de grupos. Os nomes dos usuários e dos grupos servem apenas para facilitar o uso humano do computador.

Cada usuário precisa pertencer a um ou mais grupos. Como cada processo (e cada arquivo) pertence a um usuário, logo, esse processo pertence ao grupo de seu proprietário. Assim sendo, cada processo está associado a um UID e a um GID.

Os números UID e GID variam de 0 a 65536. Dependendo do sistema, o valor limite pode ser maior. No caso do usuário root, esses valores são sempre 0 (zero). Assim, para fazer com que um usuário tenha os mesmos privilégios que o root, é necessário que seu GID seja 0.

Próxima página >>




Páginas do artigo

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por mascote24 em 23/11/2005 - 10:19h:

Parabéns Weber, excelente artigo !

Para conhecer/saber como funcionam processos nos *nix está completo. Começar a aprender com este artigo é no mínimo começar por um bom começo.

Acrescentei-o aos meus favoritos.

[2] Comentário enviado por mms_ba em 23/11/2005 - 16:03h:

Parabens pela qualidade/ conteúdo do material. :) Ja adicionei aqui nos favoritos.

[3] Comentário enviado por silviojunior em 23/11/2005 - 19:37h:

Artigo de excelente qualidade!

[4] Comentário enviado por in54no em 23/11/2005 - 21:24h:

Muito bom,
Parabens!

[5] Comentário enviado por Cybertitan em 24/11/2005 - 01:55h:

Otimo artigo, resumiu muito bem, esta de parabens.

[6] Comentário enviado por luiscarlos em 24/11/2005 - 10:29h:

Sempre percebi que a maquina depois de inciar mesmo com os serviços não essenciais todos parados, ainda rodam em médiua de 60 a 70 processos, a maioria em estado sleeping ou em espera, alguém sabe quais os processos minimos necessários para que a maquina funciona usando o mínimo de memória? eu gostaria de rodar uma console com o mínimo necessário e tmb depois rodar o KDE com o mínimo necesário, já retirei tudo que nao precisava, mas ainda tem muito processo, queria diminuir pra uns 30 no maximo

[7] Comentário enviado por xith em 24/11/2005 - 17:24h:

Cara parabens pelo artigo, tirei uma duvida vital nele!
Excelente

[8] Comentário enviado por PCMasterPB em 26/11/2005 - 17:50h:

Realmente muito bom esse artigo! Emerson, você está de parabéns!!!


[9] Comentário enviado por brunomark em 01/08/2006 - 19:41h:

Excelente material Emerson, matéria fundamental para sobreviver no modo texto

[10] Comentário enviado por decohab em 17/10/2006 - 13:42h:

Legal einh boa dica para iniciantes
Ai vai mais um bom tutorial pra galera GNU
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4152&pagina=6

Só uma complementação a vezes até util para não deixar o SHELL preso é usar recursos em background .. util para quando se quer copiar arquivos acima de 200 megas e não se ker ficar preso esperando terminar.. basta usar no final do comando &.

ex.

# cp arquivo.xxx /home &

!!Valew!!!

[11] Comentário enviado por cassimirinho em 16/01/2008 - 13:52h:

Uma pergunta sobre processos, a cada reinício do sistema o número do PID é sempre o mesmo pra cada "executável" ?

[12] Comentário enviado por stickybit em 21/01/2009 - 17:04h:

Vale lembrar que, os números nice vão de -20a +19. Qualquer usuário pode iniciar um processo com um número nice positivo, mas apenas o superusuário (root) pode diminuir o número nice de um processo, aumentando com isso a sua prioridade.


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.