sexta-feira, 23 de setembro de 2016

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.

Como você pode ver a partir do exemplo a seguir, nenhuma saída é associado com o comando kill.



 


Para ver se o comando foi eficaz, é preciso realizar
comando ps para ver se o processo parou.

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