Essays.club - TCC, Modelos de monografias, Trabalhos de universidades, Ensaios, Bibliografias
Pesquisar

O Gerenciamento de Processo

Por:   •  30/7/2018  •  2.314 Palavras (10 Páginas)  •  358 Visualizações

Página 1 de 10

...

que para o processo conseguir usar o diretório, o usuário que o iniciou deve ter permissões neste diretório. Se não, o processo não vai conseguir usá-lo por ser bloqueado.

Como você pode ver, a definição de um processo é bem simples: é um programa que está rodando no seu computador. Processos sempre estão presentes em todos os sistemas e, no Linux, você consegue ver todos os parâmetros que forma o ambiente deles através do diretório /proc em formato de arquivos e diretórios. Analisar o /proc é bem interessante para conseguir conhecer mais sobre o seu sistema atual.

Beleza. Agora que já entendemos o que é um processo e o que ele representa para a gente, vamos aprender como gerenciá-los. Obviamente, não vou mencionar aqui como criar um processo já que pra isso basta executar um programa qualquer no sistema e este passo vai variar de acordo com o software em questão.

Também vale lembrar que você deve tomar muito cuidado com qual processo você mata. Pode ser que ao finalizá-lo você torne o sistema completamente instável e precise reiniciar para que tudo volte ao normal. Portanto, não saia matando qualquer processo por aí: tenha certeza de que ele é o processo que você está procurando!

Top

O comando top é um dos mais populares quando se fala de gerenciamento de processos. Um motivo para isso é que ele é extremamente fácil de usar e entender, sem precisar usar parâmetro algum para formatar a saída, se você não quiser.

O top vai gerar uma lista de todos os processos sendo executados no momento e atualizá-la em um intervalo de tempo pré-determinado, dando informações como uso do CPU, uso do CPU por processo (os que estão deixando o processador mais ocupado ficam no topo), PID, nome do processo, informações de uso da memória, etc. Tudo isso num formato de lista simples de compreender e que te dá informações úteis logo de cara, sem precisar ficar fuçando em tudo.

Algumas opções úteis para o comando são:

-b: Esta opção facilita muito a vida de quem quer a saída do top sendo utilizada em um script. O que ele vai fazer é enviar a saída do top diretamente para outro comando ou mesmo para um arquivo no disco. Ele vai executar esta operação o número de vezes especificada pela opção “-n” que veremos mais à frente.

-d atraso: Define de quantos em quantos segundos a tela com as informações sendo exibidas para você irá ser atualizada. Por exemplo, para atualizar a tela automaticamente a cada 3 segundos a opção seria “-d 3?.

-i: Esta opção faz com que o top ignore os processos que estão ociosos no momento, ocupando o espaço da tela apenas com processos que realmente estejam ocupando recursos do sistema.

-n número: Define um número de atualizações da tela e depois sai automaticamente do top. Útil para usar com a opção -b, explicada no início desta lista.

-q: Faz com que o top não use nenhum atraso para atualizar a lista, gerando uma saída literalmente em tempo real. O problema com esta opção é que pegar e mostrar informações tão recentes tantas vezes enquanto o top roda consome muitos recursos do sistema, o que vai afetar o desempenho do sistema como um todo. Por isso, tome bastante cuidado quando for usar esta opção.

-s: Roda em modo seguro, desabilitando opções do top que sejam consideradas perigosas.

Além das opções que você pode especificar quando vai digitar o comando na linha de comandos do Linux, o top também aceita opções enquanto ele está rodando e exibindo as informações para você. Estas opções são chamadas de “opções de modo interativo” e as mais populares são:

Ctrl-L: Atualiza a tela imediatamente.

h: Mostra a ajuda do comando.

k: Mata um processo. Depois de apertar a tecla k uma vez, você deverá digitar o PID do processo que você quer matar e o sinal que deverá ser enviado para ele.

n: Muda o número de processos a serem exibidos. Depois de apertar n, basta digitar um número no prompt que é exibido para você. O padrão é 0, indicando que o top deve exibir processos até encher a tela.

q: Sai do top.

r: Muda a prioridade de um processo – bem parecido com o comando renice que se usa na linha de comando para esta finalidade. Depois de apertar o r, basta informar o PID do processo e a nova prioridade dele no sistema.

s: Muda o tempo de atualização da tela, em segundos. Você também pode informar frações de segundo para a taxa de atualização como, por exemplo, 0.5 para atualizar a cada meio segundo.

É isso. O top é um dos comandos mais simples e úteis, que com certeza absoluta vai te ajudar muito a compreender melhor como o sistema está sendo usado e como você pode redistribuir melhor os recursos da máquina para melhorar o desempenho do sistema.

Os sinais

Todo processo está preparado para receber diversos sinais de controle, sejam eles enviados pelo kernel do sistema sejam eles enviados por um usuário através do comando kill, por exemplo (que veremos a seguir). Estes sinais são números inteiros, que possuem strings curtas como apelidos para facilitar o reconhecimento deles por humanos, que são pré-definidos e conhecidos por todos os processos criados no sistema. Assim que recebe um sinal, o processo sabe que deve executar a ação que está sendo informada pelo sinal sendo recebido.

Alguns sinais podem ser ignorados, porém outros não podem ser ignorados em momento algum e o processo deve tomar a ação correspondente imediatamente. Abaixo temos uma listinha com alguns sinais. Geralmente, em livros sobre Unix, encontra-se o nome dos sinais precedido da string SIG (que signifca SIGNAL, ou sinal). Por exemplo, ao invés de INT escreve-se SIGINT. Independentemente da maneira como se escreve, estamos todos falando dos mesmos sinais.

HUP: Código numérico 1. HUP quer dizer “Hang Up” ou desligar. Há muitos anos era o sinal enviado para o modem instruindo que ele desligasse e finalizasse a conexão. Hoje em dia este sinal é enviado para os processos para que eles releiam o arquivo de configuração depois que você fez alguma alteração.

INT: Código numérico 2. INT é uma abreviação para “Interrupt” ou interromper. Diz para o processo parar de ser executado, tomar todas as providências necessárias e finalizar. Este é o sinal enviado para o processo quando você pressiona Ctrl-C na linha de comando.

KILL: Código numérico 9. O KILL indica que o processo deve

...

Baixar como  txt (13.8 Kb)   pdf (59.2 Kb)   docx (16.7 Kb)  
Continuar por mais 9 páginas »
Disponível apenas no Essays.club