Hoje em dia manipular processos dentro do sistema operacional virou quase uma profissão. 🙂
O gerenciamento de processos é uma tarefa normalmente muito utilizada em servidores de banco de dados; pois, dada a grande quantidade de processos que uma aplicação como um banco de dados gera, é de extrema importância que as prioridades sejam configuradas adequadamente.
Visualizando os processos da máquina:
Onde:
a : todos os processos de kernel
u: de todos os usuários
x: de todos os terminais
| more : mostrar paginando
Vamos entender agora o que cada coluna nos mostra:
Outra opção interessante é a visualização dos processos em forma de árvore:
ou
Para podermos acompanhar os processos em tempo real, podemos usar o comando top, já que o ps só nos mostra o status dos processos que estão no ar no momento do comando.
Trabalhar com níveis de plano de execução, pode nos ajudar por exemplo em casos que queremos executar uma aplicação e mantermos ainda o terminal livre, para continuar trabalhando no mesmo.
BACKGROUND – processo em segundo plano
FOREGROUND – processo em primeiro plano
bg – coloca um processo já iniciado em background
fg – coloca um processo em foreground
jobs – lista processos em background
ctrl+z – para um processo que está em foreground
Exemplos:
(inicia o updatedb em modo background, deixando o terminal livre)
(visualizando os processos em background do terminal)
(o comando fg mais o PID do processo , coloca o processo em foreground)
(o comando bg mais o PID do processo, coloca o processo em backgound)
A escala a baixo representa os valores de prioridade que um processo pode ter:
A coluna “NI” apresenta os valores de cada processo.
Os comandos para manipular os valores de cada processo são: o nice e o renice. O nice é usado apenas para declarar a prioridade de um processo quando o mesmo for iniciado, e o renice é o comando utilizado para trocar a prioridade de um processo já iniciado.
Exemplos:
(inicia o comando man ls, com prioridade -20)
(visualiza o processo “man ls”)
(troca a prioridade do processo para o valor “10”)
Não é muito raro processos darem erros e sermos obrigados a finalizá-los. Não é nada complicado matar um processo:
-15 = (termina um processo)
-9 = ( mata um processo) obs: sem dó!
Matando processos por usuário:
(mata todos os processos do usuário “ze”)
Uma boa dica é matar os processos usando o top, pois nele você encontra um banco de consulta com parâmetros que podem ser usados para manipular os processos. Pode significar bastante em casos onde você erra a sintaxe do comando tentando manipular o processo na mão.






