Parando
Processos em GNU/Linux
Parte
crucial de um administrador de sistemas é a gerência dos processos
de sistema. Um processo parou e é necessário iniciá-lo novamente,
outras vezes um processo consome muito tempo de CPU é preciso para.
Em todos esses casos precisamos de um comando que permita o controle.
GNU/Linux segue o método Unix de comunicação entre processos.
Em
sistemas GNU/Linux, processos se comunicam uns com os outros usando
sinais. Um sinal de processo é uma mensagem predefinida que
reconhece e pode optar por ignorar ou agir.
Desenvolvedores
programam como um processo trata os sinais. Aplicações bem escritas
têm a capacidade de receber e agir aos sinais padrões
dos processos UNIX.
Sinal
|
Nome
|
Descrição
|
1
|
HUP
|
Desliga.
|
2
|
INT
|
Interrupções.
|
3
|
QUIT
|
Para
a execução.
|
9
|
KILL
|
Incondicionalmente
Termina.
|
11
|
SEGV
|
Produz
segmento de violação.
|
15
|
TERM
|
Termina
se possível.
|
17
|
STOP
|
Para
incondicionalmente, mas não termina.
|
18
|
TSTP
|
Para
ou pausa, mas continua a ser executado em segundo plano.
|
19
|
CONT
|
Retomou
a execução após STOP ou TSTP.
|
Existem
dois comandos em GNU/Linux que permitem o envio de sinais de processo
para processos em execução.
Comando
kill
Com
o kill permite enviar sinais a processos com base na sua ID do
processo (PID).
Por
padrão, o comando kill envia um sinal TERM para todos os PIDs
listados na linha de comando.
Infelizmente,
podemos só usar o PID do processo em vez de seu nome, fazendo o
comando kill difícil de se usar às vezes.
Para
enviar sinais a processos, precisamos ser o dono do processo ou
estarmos com a conta do usuário root.
O sinal TERM diz ao processo para parar gentilmente a execução. Se temos um processo que não aceite este pedido, precisamos adicionar outros sinais com o parâmetro -s no qual permite especificar outros sinais, usando seu nome ou o número do sinal.
Comando
killall
O
comando killall é um meio poderoso para parar os processos usando
seus nomes, em vez dos números PID. O comando killall permite que
você use caracteres curinga.
Este exemplo mata todos os processos que começam com http, tais como os serviços http para o servidor web Apache.
Até o próximo...
Nenhum comentário:
Postar um comentário