Interrompendo trabalhos por PID?

1

Alguém poderia me dizer por que não posso matar os trabalhos abaixo quando especificar seu PID? Eu posso parar os trabalhos ao usar seu% id.

Mac: ~ gd $ ps

CMD DE TEMPO PID TTY

4523 ttys000 0: 00.02 -bash

4560 ttys000 0: 00.00 gpg

4609 ttys000 0: 00.00 gpg

Mac: ~ gd $ kill 4560

Mac: ~ gd $ mata 4609

Mac: ~ gd $ exit

logout

Existem trabalhos interrompidos.

Mac: ~ g $ empregos

[1] - parou o gpg

[2] + gpg interrompido

Mac: ~ gd $ kill% 1

gpg: signal Terminado capturado ... saindo

    
por Gareth Davies 21.06.2015 / 00:07

1 resposta

1

Porque kill %n executará o shell integrado, o que fará com que os trabalhos interrompidos sejam enviados SIGCONT para que eles possam perceber que foram mortos.

Para conseguir isso com PIDs de trabalhos interrompidos, você precisa:

kill $pid 

(ou kill -TERM $pid se você quiser explicitar)

e depois

kill -CONT $pid 

Você não precisa do -CONT se preferir a melhor arma do crime:

kill -KILL $pid
    
por 21.06.2015 / 00:41