Ctrl + C não encerra um programa em execução no terminal

5

Ok,  Eu não sei por quê, mas eu já vi essa pergunta muitas vezes, mas nenhuma das respostas parece ser útil, mas o problema é bastante óbvio, porque eu verifiquei em vários computadores.   Ctrl+C NÃO mata um programa em execução no terminal (Ubuntu v10), mesmo que seja suposto. Gostaria de saber se alguém pode realmente apontar uma solução que realmente funcione.

Até agora eu tentei Ctrl+\ , Ctrl+SysRq+K e muito mais - nada funciona!

A única coisa que funcionou, de certa forma, é Ctrl+Z , mas na verdade não mata / sai do programa, mas simplesmente o coloca em segundo plano e você ainda tem que fazer kill %1 para realmente matar isso.

Obrigado!

    
por techexpert 14.06.2012 / 04:34

4 respostas

4

Nota: Responda e depois de comentários ...

Tenho certeza que isso matará a maioria dos programas de terminal; é claro, não vai matar os que processam um novo processo e, em seguida, retornar o prompt imediatamente.

Alguns programas podem pegar essa interrupção e lidar com ela do jeito que quiserem, ou até mesmo ignorá-la. Pode depender muito se o programa é projetado para ser executado em um terminal ou de uma interface gráfica.

Alguns dos programas que acabei de experimentar em 10.04 e 11.10 que terminam são:

ping - which runs continuously by default, so this is the only way to stop it;
find - often takes a long time, so it's useful to be able to end it.
gedit
    
por Marty Fried 14.06.2012 / 05:18
3

Na verdade, muitos programas não param no Ctrl+C , porque tudo o que ele faz é criar uma exceção no thread atualmente em execução. Multithread programas, bem como programas com "Em caso de qualquer exceção, vá em frente." tipo de instruções continuará. O caso apropriado de ações será um dos seguintes:

  1. Use Ctrl + Break combinação de teclas.
  2. Pressione Ctrl + Z . Isso não interromperá o programa, mas retornará o prompt de comando. Então, faça ps -ax | grep *%program_name%* . Encontre a linha correspondente ao um yopu que deseja parar. O primeiro inteiro na linha será o ID do programa. Do kill -9 %id% para finalmente pará-lo.
  3. Se o programa também consome muitos recursos, você pode usar o comando top em um terminal separado para ver o ID mais rápido.
por Barafu Albino 20.10.2014 / 19:15
1

Eu enfrentei esse problema com um dos meus usuários tendo 10.04. O mesmo problema foi discutido aqui CTRL + C não funciona mais no terminal

No entanto, você pode finalizar o comando usando CTRL + SHIFT + C

Parece que os comandos copiar para a área de transferência e finalizar mudaram seus atalhos de teclado.

    
por Umair A. Shahid 14.06.2012 / 05:30
-2

Primeiro: top (Veja o número PID do programa que você quer matar a execução dele.)

Segundo: kill PID

    
por Ummu 20.10.2014 / 12:21