Guia do Linux/Iniciante+Intermediário/Execução de programas/Fechando um programa quando não se sabe como sair
Fechando um programa quando não se sabe como sair
editarMuitas vezes quando se esta iniciando no GNU/Linux
você pode executar um programa e talvez não saber como fecha-lo. Este capítulo do guia pretende ajuda-lo a resolver este tipo de problema.
Isto pode também ocorrer com programadores que estão construindo seus programas e por algum motivo não implementam uma opção de saída, ou ela não funciona!
Em nosso exemplo vou supor que executamos um programa em desenvolvimento com o nome contagem
que conta o tempo em segundos a partir do momento que é executado, mas que o programador esqueceu de colocar uma opção de saída. Siga estas dicas para finaliza-lo:
- Normalmente todos os programas
UNIX
(oGNU/Linux
também é um Sistema Operacional baseado noUNIX
) podem ser interrompidos com o pressionamento das teclas <CTRL> e <C>. Tente isto primeiro para finalizar um programa. Isto provavelmente não vai funcionar se estiver usando um Editor de Texto (ele vai entender como um comando de menu). Isto normalmente funciona para comandos que são executados e terminados sem a intervenção do usuário.
- Normalmente todos os programas
Caso isto não der certo, vamos partir para a força! ;-)
- Mude para um novo console (pressionando <ALT> e <F2>), e faça o login como usuário root.
- Localize o PID (número de identificação do processo) usando o comando: ps ax, aparecerão várias linhas cada uma com o número do processo na primeira coluna, e a linha de comando do programa na última coluna. Caso aparecerem vários processos você pode usar ps ax|grep contagem, neste caso o
grep
fará uma filtragem da saída do comando ps ax mostrando somente as linhas que tem a palavra "contagem". Para maiores detalhes, veja o comando [ch-cmdv.html#s-cmdv-grep grep, Seção 10.8]. - Feche o processo usando o comando kill PID, lembre-se de substituir PID pelo número encontrado pelo comando
ps ax
acima.
O comando acima envia um sinal de término de execução para o processo (neste caso o programa contagem
). O sinal de término mantém a chance do programa salvar seus dados ou apagar os arquivos temporários que criou e então ser finalizado, isto depende do programa.
- Alterne para o console onde estava executando o programa
contagem
e verifique se ele ainda está em execução. Se ele estiver parado mas o aviso de comando não está disponível, pressione a tecla <ENTER>. Frequentemente acontece isto com o comandokill
, você finaliza um programa mas o aviso de comando não é mostrado até que se pressione <ENTER>. - Caso o programa ainda não foi finalizado, repita o comando
kill
usando a opção -9: kill -9 PID. Este comando envia um sinal de DESTRUIÇÃO do processo, fazendo ele terminar "na marra"!
- Alterne para o console onde estava executando o programa
Uma última dica: todos os programas estáveis (todos que acompanham as boas distribuições GNU/Linux
) tem sua opção de saída. Lembre-se que quando finaliza um processo todos os dados do programa em execução podem ser perdidos (principalmente se estiver em um editor de textos), mesmo usando o kill
sem o parâmetro -9.
Procure a opção de saída de um programa consultando o help on line, as páginas de manual, a documentação que acompanha o programa, info pages. Para detalhes de como encontrar a ajuda dos programas, veja o [ch-ajuda.html Como obter ajuda no sistema, Capítulo 31]