Como posso matar um programa iniciado de rc.local quando Ctrl-C não funciona?

2

Eu estava tentando criar um programa que roda na inicialização que tira uma foto a cada 10 segundos (em um loop infinito) no meu pi de framboesa, mas descobri que tinha cometido um erro, mas não consegui Ctrl + C de fora. Existe uma maneira de escapar?

(Eu tentei ir para um espaço de trabalho diferente, mas o prompt de login não seria exibido).

    
por I'm on stack exchange 29.10.2015 / 16:05

1 resposta

9

Se você iniciar o programa a partir de rc.local, não poderá logar em um shell e digitar ctrl-c para interrompê-lo. O motivo é que o programa não foi iniciado a partir do shell em que você está conectado.

Você encontrará o ID do processo ( pid ) do programa e usará o comando kill para enviar um sinal ao processo, fazendo com que ele termine.

Por exemplo, em um console (em uma janela de terminal ou conectado via ssh):

ps aux | grep 'the-name-of-your-progam'

O número na segunda coluna é o pid . Use esse pid para enviar ao processo um sinal de terminação:

kill -TERM [put-your-pid-here]

Um processo pode optar por ignorar o sinal TERM , portanto, execute o ps pipeline novamente. Se você ainda vir o mesmo pid , envie o sinal kill:

kill -KILL [put-your-pid-here]
    
por 29.10.2015 / 16:55

Tags