não é possível remover o trabalho interrompido com ctrl + c

0

Quando tentei mudar de super usuário para usuário comum e, portanto, digitei "exit", Recebi uma mensagem de erro, que um trabalho foi interrompido e não consegui sair como root. Então eu listei os empregos:

#jobs
[1]+ yes | apt-get install build-essential

Mudei o trabalho do plano de fundo das shells para o primeiro plano

fg 1

agora eu pensei, eu poderia simplesmente pressionar ctrl + c para finalizar, mas cada vez que eu pressionei ctrl + c, nada aconteceu exceto por "^ c" sendo exibido. Quando eu pressionei ctrl + z eu voltei para o prompt, mas o trabalho ainda estava lá, então eu fui pego no #.

    
por Abdul Al Hazred 16.03.2015 / 13:04

1 resposta

3

^C gera um sinal de interrupção ( SIGINT ). É permitido que os programas mascarem esse sinal e o ignorem completamente ou "reajam" a ele de maneira não fatal.

Por exemplo - você pode querer que um programa pare o que está fazendo agora, mas sem terminar completamente.

Portanto, ^C nem sempre funciona.

^Z para interromper o trabalho e, em seguida, kill %1 (onde% 1 é o número na lista jobs ) enviará um sinal de finalização ( SIGTERM ), o que deverá resolver o problema.

    
por 16.03.2015 / 13:11