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



» Screenshot
Linux: Ainda chego lá...
Por reishiro
» Login
Login:
Senha:

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

Esqueci minha senha



Artigo

Processos
Linux user
jarlisson
24/07/2012
Este artigo explica a utilidade dos Processos no sistema. Como: identificar, iniciar (launch) e matar (kill). Obtendo mais informações através do diretório /proc, obter informações dos processos através das backticks (crases ``), colocando arquivos em variáveis, expressões matemáticas com 'expr', o comando/calculadora 'bc' e os códigos de retorno dos processos.
Por: jarlisson moreira
[ Hits: 7036 ]
Conceito: 9.4   7 voto(s)7 voto(s)7 voto(s)7 voto(s)7 voto(s) + quero dar nota ao artigo

Introduzindo, checando e obtendo informações de processos

Dando sequência a meus artigos introdutórios sobre *Unix, vamos aprender como obter informações dos processos que estão ocorrendo no sistema para usá-las em nossos scripts.

Ou simplesmente, para aprender mais sobre nosso sistema. Uma maneira, simples, de ver um sistema operacional, é vê-lo como um punhado de processos / programas / comandos rodando no sistema, fazendo com que tudo funcione.

Estes processos tem as mais variadas origens, como por parte do kernel, do usuário, da rede, de outros processos, etc.

Logo adiante, ao checar os processos vigentes no seu sistema, entenderá melhor quando vê-los.

Poucos são os scripts em Shell que são isolados, ou seja, que são auto-suficientes em informação, comandos, processamento e armazenagem de dados.

O propósito e uso maior dos Shell Scripts, é interagir com o sistema. Afinal, o Shell é do Unix, e foi criado para interagir com o sistema.

Esta interação se dá por meio da exploração dos processos que estão rodando, ou que você fará rodar, ou parar, no sistema.

Isso é feito iniciando e fechando processos, seja em foreground (pro usuário ver) ou em background (sem você ver), usando as variáveis do ambiente e pegando as informações de retorno do processo (códigos), dentre outras maneiras.

Checando os processos

Vamos iniciar a exploração dos processos com o comando ps, que lista os processos ativos:

$ ps -ef

Ou, para *BSD:

$ ps -aux

Ambos comandos funcionam em GNU/Linux. Se quiser algo mais elaborado, use os comandos top ou htop.

Note os dados exibidos no terminal, principalmente a PID, que mostra a ID (identificação do processo), que é a informação que usaremos para identificar e controlar o processo.

Toda esta sopa de letras tem seu significado. E tais informações estão devidamente armazenadas em variáveis do sistema. Vamos conhecer algumas delas, que são particularmente úteis para serem usadas em scripts.

- $$ : Mostra a ID do atual processo. Digite no terminal:

$ echo $$

Depois, procure essa ID na lista de processos exibida no comando ps -ef.

Deve achar /bin/bash ou "su -", caso esteja como root.

Caso execute este comando através de script, a ID é a do script.

- $! : Mostra a ID do último processo que rodou em background do seu script.

Vamos criar um script para ver melhor essas variáveis em ação.

O script "proc1.sh", por si só, já é auto-explicativo:

echo "O processo atual é: $$" echo -n "O último processo a ocorrer em background: " # Note que não iniciamos processo algum no script if [ "$!" == "" ] then echo "inexistente" else echo "$!" fi echo echo "Executando um comando em background..." # Vide meu artigo Pipelines caso não entenda o seguinte comando ls /usr/bin > /dev/null & echo "Agora, o último processo a ocorrer em background é $!"


Permita e execute para ver o resultado:

$ chmod +x proc1.sh
$ ./proc1.sh


Próxima página >>




Páginas do artigo

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por azk4n em 24/07/2012 - 15:45h:

ótimo artigo, cara!
bem didático... vou indicar p/ quem está começando!
favoritado


[2] Comentário enviado por coioti em 24/07/2012 - 16:22h:

Muito bom artigo

Fala um pouco sobre o "nice" nos próximos.

Parabéns


[3] Comentário enviado por andrezc em 24/07/2012 - 22:34h:

Dei uma rápida olhada por cima no artigo, não estou com tempo disponível para leitura agora, mas o conteúdo parece ótimo.

Obrigado pela contribuição.



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.