Comandos para Interagir com Processos no SO Linux
A interação do usuário com os processos no SO Linux ocorre principalmente por meio dos comandos top, kill, killall, bg, fg, nice e renice. O comando top exibe os processos em execução no sistema obedecendo uma taxa de atualização. Por meio deste comando, o usuário pode monitorar como os processos utilizam os recursos do computador, tais como a CPU e a memória. Além disto, este comando possibilita ao usuário interagir com os processos enviando sinais, os quais serão detalhados no decorrer da seção. A Figura 68 apresenta o resultado da execução deste comando.
O comando kill permite ao usuário enviar sinais para os processos. A Tabela 1 apresenta os principais tipos de sinais deste sistema. Para enviar um sinal por meio do comando kill, torna-se necessário conhecer previamente o PID do processo. Para obter esta informação você pode usar o comando ps, conforme mostrado previamente. A título de exemplo, considere que obtemos o número 9000 como PID do processo que desejamos enviar o sinal HUP. Neste caso, bastaria digitarmos o comando kill –HUP 9000.
Diferentemente do comando kill, o comando killall não necessita do conhecimento prévio do PID do processo. Ao invés do PID, o usuário deve passar como parâmetro o nome do processo. No entanto, o comando killall possibilita apenas enviar o sinal de término do processo. A título de exemplo, suponha uma situação hipotética onde tenhamos a necessidade de terminar o processo do navegador Web Firefox usando o comando killall. Neste caso, poderíamos abrir o terminal e digitar: killallfirefox.
Os comandos fg e bg são responsáveis por colocar o processo em foreground e background, respectivamente. Para exemplificar o uso destes comandos, abra um terminal e execute o comando gedit. Como resultado será aberto o programa Gedit, uma espécie de bloco de notas desenvolvido para o SO Linux. Observe que ao executar este programa, o terminal ficará impossibilitado de executar novos comandos e serão apresentadas mensagens internas do sistema operacional. Neste momento, o processo do Gedit está em foreground. Para passar o processo para background, primeiramente precisamos suspendê-lo. Isto pode ser feito ao pressionar as teclas Ctrl+z. Ao colocar o processo como suspenso, você verá que ele ficará impossibilitado de ser usado. Neste caso, você pode digitar o comando bg para colocá-lo em background ou fg para colocá-lo em foreground.
Os comandos nice e renice possibilitam ao usuário alterar a prioridade de execução de um processo, impactando assim na urgência que o mesmo é escalonado pelo processador. Quanto maior a prioridade do processo, mais tempo de CPU este processo terá. Mudar a prioridade da execução de um processo pode ser útil para proporcionar que usuários avançados configurem o sistema operacional para valorizar processos considerados mais importantes.
Atenção: Os processos no sistema operacional Linux compreendem a faixa de valores de -20 até 19. Um processo com prioridade -20 representa o nível mais alto, enquanto que 19 representa o menor nível de prioridade.
A diferença entre estes comandos está na forma como eles se relacionam com os processos. O comando nice é usado para configurar a prioridade de um processo no momento da sua criação. Por exemplo, ao executar o comando nice -12 firefox, você está iniciando o navegador Web Firefox com prioridade 12. Para executá-lo com o maior nível de prioridade, você precisa digitar o comando nice –20 firefox. O comando renice permite alterar a prioridade do processo durante a sua execução. Para isto, você precisa previamente saber o PID do processo a ser modificada a prioridade. Tendo esta informação, você pode digitar, por exemplo, o comando renice17 –p 1134 para alterar para 17 a prioridade do processo com PID 1134. Por meio do renice, a prioridade negativa pode ser passada diretamente por parâmetro. Por exemplo, digitando renice -3 –p 1134, o processo com PID 1134 executará com prioridade -3.
Nesta subseção estudamos os comandos para interagir com os processos. Os principais comandos estudados foram top, kill, killall, bg, fg, nice e renice. Esta subseção explicou cada um destes comandos e forneceu exemplos de como utilizá-los.



Comentários
Postar um comentário