Você está na página 1de 7

www.howtoday.com.

br

GERENCIAMENTO DE PROCESSOS

O administrador precisa ter muito conhecimento sobre este assunto


antes de chegar a gerenciar algum servidor Linux. O usuário root tem poderes
ilimitados sobre o sistema e, por isso mesmo, ele tanto pode executar uma
operação de término de um processo de forma a não danificar os arquivos
envolvidos no mesmo como pode também o interromper de forma brusca e
danificar um arquivo importante nesta ação apenas pelo fato de não ter
escolhido o sinal certo a envia para o processo. Pode o administrador também
escolhe mal a prioridade de execução de um processo pesado e paralisar todo
o sistema por causa disso. Justamente por esse fato, é que é preciso dominar
os conceitos e comandos que vão ser ministrados neste capítulo.

PID
É o “Process ID”, o número de identificação que cada processo recebe. O
único PID fixo existente é o PID do processo INIT, que é o de nº 1.
NICE NUMBERS
É o número de prioridade de execução de um processo. Se um processo é
executado com maior prioridade, ele usa os melhores recursos de
processamento para sua execução, enquanto se for prioridade baixa, ele
depende que outros processo não estejam utilizando estes recursos para que
ele também possa fazer uso. OS NICE NUMBERS vão de -20 até 19, sendo a
maior a prioridade negativa.

SINAIS DE PROCESSOS
Para saber o que se pode fazer com cada processo que está em execução
é preciso entender os sinais de processos.
Os mais importantes são:
1 - HUP ou SIGHUP : instrui o serviço a reler o seu arquivo de
configuração (operação de “reload”).
2 – INT ou SIGINT : interrompe um processo em primeiro plano (é o
mesmo que CTRL+C).
9 – KILL ou SIGKILL : Interrompe bruscamente um processo. Este sinal
deve ser utilizado em último caso, pois ele pode causar danos aos arquivos
envolvidos no processo.
12 – USR2 ou SIGUSR2 : interrompe processo do usuário fazendo logoff
no mesmo.
15 – TERM ou SIGTERM : é enviado para todos os processos do sistema
assim que ele entra em desligamento. Este sinal fecha todos os arquivos
abertos do processo antes de terminá-lo, não causando nenhum tipo de dano a
eles. Este é o sinal padrão da maioria dos comandos e programas que
terminam processos justamente pela sua “elegância”.
18 – CONT ou SIGCONT : continua processos que foram parados pelo
sinal 20, enviando-os para background.
20 – TSTP ou SIGTSTP : pára processos de forma que eles possam ser
reiniciados depois pelo sinal 18. É o mesmo que a combinação de teclas CTRL
+ Z.
www.howtoday.com.br

RUNLEVELS
Um Runlevel é o estado em que se encontra o sistema.
0 – sistema em desligamento.
1 – modo “single user”. Ideal para modo de manutenção do sistema, pois
apenas uma instância de logon e terminal será permitida.
2 – é o Runlevel padrão do sistema. Este é o nível multi-user, onde
múltiplos logons podem ser efetuados e todos os terminais podem ser
utilizados.
3 – o mesmo que o Runlevel 2.
4 – em desuso.
5 – “GUI”. Interface gráfica.
6 – sistema em reinicialização.

Comandos de gerenciamento de processos

#ps
Exibe os processos do sistema.

Sintaxe:
#ps <opções>

Opções:
-a : mostra processos de todos os terminais.
-x : mostra processos que não precisam de terminal de controle.
-u : exibe o nome do usuário responsável pelo processo ao lado do
mesmo.
-U : exibe apenas processos de um usuário específico.
-f : modo “floresta”. Exibe “processos pai” e “processos filho”.
-w : exibe na linha de baixo o conteúdo que não coube na linha de cima.

Exemplos:

Exibindo os processo de todos os terminais, incluindo aqueles que não


usam terminal, com o nome de cada usuário responsável pelo processo:
#ps –aux

Observe que o PID de nº 1 é o do processo INIT


www.howtoday.com.br

Os campos mais importantes desta saída de comando são:

%CPU – percentual de CPU consumido com o processo.


%MEM – percentual de memória consumida no processo.
STAT – Status do processo.
R : em execução.
S : aguardando outro evento para continuação.
D : dormindo permanentemente.
T : parado para que possa ser reiniciado depois.
X : morto.
Z : processo “zumbi”. Foi terminado mais ainda é procurado por seu
PPID.
< : maior prioridade.
N : menu prioridade.
+ : em primeiro plano.
s : líder de sessão.
l : multi-thread.

#top
Exibe e gerencia processos. Mostra os processos mais atuais no topo.
O campo NI, que é mostrado, se refere ao Nice Number do processo. O
Nice number padrão para processos iniciados é o 0, ou seja: se um processo é
iniciado sem que seja especificado o seu Nice Number, ele, automaticamente,
é0.

#kill
Gerencia os processos pelo PID deles.

Sintaxe:
#kill -<sinal> <PID>
www.howtoday.com.br

Exemplos:

Exibindo todos os sinais que o sistema pode usar:


#kill –l

Terminando o processo de PID 913 com o sinal 15(TERM):


#kill -15 913
ou
#kill –TERM 913
ou
#kill 913

Terminando abruptamente o processo de PID 913 com o sinal 9(KILL):


#kill -9 913
ou
#kill –KILL 913

Deixando o processo de PID 913 pronto para ir para background:


#kill -20 913
ou
#kill –TSTP 913

Continuando o mesmo processo em background:


#kill -18 913
ou
#kill –CONT 913

Como pudemos perceber acima, o comando kill não serve apenas para
‘matar’ processos, como o próprio nome sugere. Ele é um gerenciador de
processos que envia o sinal necessário para eles via linha de comando. Outro
detalhe importante é que o sinal padrão do comando kill é 15, pois é o sinal
mais aconselhável para terminar uma tarefa, ou seja: terminar um processo
com o comando kill sem especificar qualquer argumento leva-o a terminar o
processo com o sinal 15.
O próximo comando também gerencia processos, só que pelo nome, ao
invés de pelo PID.

#killall
Gerencia processos pelos nomes deles.

Sintaxe:
#killall -<sinal> <nome_do_processo>

Exemplos:

Listando os nomes de todos os sinais disponíveis:


#killall -l

Terminando o processo executado pelo programa dd com o sinal 15:


#killall -15 dd
www.howtoday.com.br

ou
#killall –TERM dd
ou
#killall dd

Encerrando abruptamente o processo executado pelo servidor X com o


sinal 9:
#killall -9 Xorg
ou
#killall –KILL Xorg

#killall5
Termina todos os processos em execução.

Sintaxe:
#killall5
ou
#killall5 –o <PID> (para fazer um PID ser omitido).

#fuser
Fecha processos e seus arquivos.

Sintaxe:
#fuser <opções> <arquivo>

Opções:
-k : envia sinal -9 para o processo.
-M : se refere a um ponto de montagem a ser fechado.
-v : verbose.
-i : modo interativo.
Exemplo:

Fechando abruptamente o terminal remoto pts/0:


#fuser –k /dev/pts/0

Um processo pode ser enviado para background de várias formas


diferentes, uma delas é executar o comando sucedido por &. Ele receberá um
ID, que será usado para manipulá-lo em background. Um exemplo disso é a
linha de comando abaixo, que envia uma verificação de badblocks para
segundo plano:
#badblocks /dev/sda5 &

#bg
Envia um processo parado com sinal 20 (CTRL+Z) para background.

Sintaxe:
#bg <num>

#fg
Trás um processo de volta para foreground (primeiro plano).
www.howtoday.com.br

Sintaxe:
#fg <num>

#jobs
Mostra os processos que estão em background no terminal atual.

#nohup
Executa processos em background, tornando-os insensíveis a logout da
sessão de usuário. A saída do comando será enviada para o arquivo nohup.out.

Sintaxe:
#nohup <comando>

Exemplo:

Executando o backup dos logs do sistema com o nohup:


#nohup tar czf /root/logs.tgz /var/log

#nice
Executa um processo com prioridade específica.

Sintaxe:
#nice -<Nice Number> <comando>

Exemplos:

Clonando o disco /dev/sda em /dev/sdb com prioridade -15:


#nice --15 dd if=/dev/sda of=/dev/sdb

Fazendo backup compactado do diretório /home com prioridade 2:


#nice -2 tar cjvf /root/backup_users.tar.bz2 /home

Repare que o primeiro ‘-‘ faz parte da sintaxe do comando, portanto, não
tem nada a ver com o Nice Number a ser aplicado.
Devemos sempre lembrar também de que dar prioridade alta a um
processo significa usar melhores recursos de processamento do que se ele
estivesse sendo executado em prioridade 0.

#renice
Modifica a prioridade de um processo já em execução.

Sintaxe:
#renice <Nice Number> <PID>

Exemplos:

Mudando a prioridade do processo de PID 1811 para -16:


#renice -16 1811
www.howtoday.com.br

Mudando para 4 a prioridade do processo de PID 1902:


#renice 4 1902

Mudando a prioridade de todos os processos do usuário operador para


-17:
#renice -17 –u operador

Você também pode gostar