Gerenciamento de processos
Processo é a forma como algum programa se apresenta para o processador, ou seja, todas as tarefas em execução no computador. Todo sistema ou função do computar é realizada através de processos, no qual é quem utiliza os recursos do computador.
A composição dos processos vem a ser os atributos que os diferenciam um de outro ajudando o sistema operacional a controla-los, suas características ou atributos são:
- Lifetime: Tempo de vida de um processo em execução.
- PID: Numero de identificação que o sistema da a um processo.
- PPID: É o PID do processo pai de um processo.
- UID: Associa um usuário a um processo.
- GID: Associa um grupo de usuários a um processo.
- Enviroment: Cada processo tem suporte a uma lista de variáveis associadas a valores.
- Curremt working Directory: Diretório default atribuído a cada processo.
Sinais de processos
Usados para que os processos possam se comunicar e para que o sistema possa interferir em seu funcionamento.
Sinais:
- STOP: Função de interromper a execução do processo reativando após o recebimento de CONT
- CONT: Instrui a execução de um processo após a interrupção.
- SEGV: Sinal que informa os erros de endereços de memoria.
- TERM: Termina completamente com o processo, eliminando-o
- ILL: Informa o erro de instruções ilegal.
- KILL: Sinal tem a função de "matar" um processo sendo usado em momentos críticos.
ESTADOS DOS PROCESSOS
Os processos não necessariamente são executados no momento em que são criados. Alguns processos podem ser temporariamente paralisados liberando o processador a executar outro processo com maior prioridade. Há quatro tipos de situações, isto é, estados:
- Executável: O processo pode ser executado diretamente;
- Dormente: O processo precisa aguardar alguma ação para ser executado;
- Zumbi: O processo é considerado morto, mas por alguma razão ainda existe;
- Parado: O processo esta parado e não pode ser executado;
MONITORANDO PROCESSOS (PS, TOP e PSTREE)
PS
Comando extremamente importante para o gerenciamento de processos. Através desse comando é possível saber os processos que estão em execução. O comando PS sem parâmetro exibe apenas os processos do usuário, é preciso utilizar parâmetros para conseguir mais detalhes.
Parâmetros(opções):
- a - mostra todos os processos existente;
- e - exibe variáveis de ambiente relacionada ao processo;
- f - exibe a arvore de execução dos processos;
- l - exibe mais campos no resultado;
- m - mostra a quantidade de memoria utilizada por cada processo;
- u - exibe o nome e a hora do usuário que executo o processo;
- x - exibe os processos que não estão associados a terminais;
- w - se o resultado de processo não couber em uma linha, sera exibido na próxima;
Dentre as opções citadas, a combinação mais usada é o: ps aux como mostra a a figura.
- User: nome do usuário dono do processo;
- UID: numero de identificação do dono do processo;
- PID: numero de identificação do processo;
- PPID: numero de identificação do processo pai;
- %CPU: porcentagem de processamento pelo processador;
- %MEM: porcentagem de memoria utilizada;
- VSZ: Indica o tamanho virtual do processo;
- RSS: sigla de Resiident Set Size, indica a quantidade de memória usada (kb);
- TTY: indica o identificador do terminal;
- STAT: hora em que o processo foi iniciado;
- TIME: tempo de processamento consumido pelo processador;
- COMMAND: Comando que executa o processo;
TOP
O comando ps exibe os processos no momento em que foi executado, o comando top vai atualizando os processos num determinado tempo. Exemplo: o ps tira uma foto da situação dos processos e o top atualiza a situação regularmente.
Opções:
- -d: atualiza o top num determinando tempo em segundos. Ex: top -d 30 ;
- -c: exibe a linha de comando ao invés do nome do processo;
- -i: faz o top ignorar processos no estado zumbi;
- -s: executa o top em modo seguro.
- u: mostra processos de usuário especifico;
- espaço: atualiza imediatamente o resultado exibido;
- m: classifica os processos por uso de memoria;
- p: classifica os processos por uso de CPU;
- t: classifica processos por tempo;
- q: top é finalizado;
- h: exibe a lista completa de opções e teclas de atalho.
Descrição:
- PR: prioridade do processo;
- NI: valor preciso da prioridade
PSTREE
Apresenta os processos em formato de arvore;
Opções:
- -u: mostra o proprietário do processo;
- -p: exibe o PID apos o nome do processo;
- -c: mostra as relação dos processos ativos;
- -G: usa determinados caracteres para exibir o resultado em formato gráfico;
TERMINANDO PROCESSOS COM KILL E KILLAL
KILL
Usado para enviar sinais a determinados processos. Há diferentes sinais que o comando kill pode enviar ao processador, pode-se verificar através do comando: # kill -l
Como a lista apresenta o numero 9(SIGKILL) elimina um processo, exemplo:
1- Vamos listar os processos:
2- Para eliminar o processo destacado basta executar o comando kill com o parametro 9 seguido do PID do programa
Pode-se descobrir o PID do programa, também através do comando pgrep, basta digitar o comando seguindo do nome do processo:
Ex: # pgrep cron
347 -> PID do processo
KILLALL
O comando killall diferente do comando kill que elimina os processos atraves do PID, elimina os processos pelo nome:
Ex - Para eliminarmos o editor de texto vi basta digitar o comando kill -9:
RECURSOS JOBS, FG, BG
JOBS
Serve para visualizar os processos que estão parados ou executando em segundo plano.
#jobs -opções
Opções:
- -l: lista os processos através do PID;
- -r: lista apenas os processos em execução;
- -s: lista apenas os processos parados;
- Para ver os processos que estão executando em segundo plano basta verificar a existência do caractere "&" no final da linha
- Se aparecer (+) na linha do processo significa que é o processo mais recente a ser parado;
- Se aparecer (-), foi o penúltimo;
FG
O comando FG permite que um programa rodando em segundo plano ou parado rode em primeiro plano.
Ex - Vamos colocar o editor vi que esta rodando em segundo plano para o primeiro.
# fg vi
ou
# fg (PID do vi)
BG
O comando BG faz ao contrario do FG passando o processo do primeiro para o segundo plano.
Ex - Vamos colocar o editor vi que esta rodando em primeiro plano para o segundo.
# bg vi
ou
# bg (PID do vi)
MODIFICANDO PRIORIDADES DE EXECUÇÕES DOS PROCESSOS
Uns processos tem prioridades sobre outros, isso tudo é atribuído a "gentileza" que cada processo tem com outros. O comando nice atribuí valores e quanto mais alto for o valor atribuído ao processo mais gentil é e menor prioridade tem. Esses números variam de -19 a 19.
Sintaxe:
#nice -n 1 vi (o processo vi recebe prioridade 1)e
#nice -n -1 gpedit (o processo gpedit tem mais prioridade que o processo anteior pois o valor é menor)
Se um processo já esta em execução, ele ja tem sua prioridade definida. Para modificar essa prioridade utiliza-se o comando renice.
Opções:
- -u: a alteração acontecera nos processos do usuário informado;
- -g: a alteração acontecera nos processos do grupo informado;
- -p: a alteração acontecera no processo cujo PID foi informado;
Esse post foi baseado num estudo de dois artigos!
Artigo 01
Artigo 02
Nenhum comentário:
Postar um comentário