Se eu iniciar um processo e colocá-lo em segundo plano em uma janela de terminal (por exemplo ping google.com &
), posso matá-lo usando kill %1
(assumindo que seja o trabalho 1).
No entanto, se eu abrir outra janela (ou guia) do terminal, o processo em segundo plano não será listado abaixo jobs
e não poderá ser eliminado diretamente usando kill
.
É possível eliminar esse processo de outra janela ou guia do terminal?
Nota: Estou usando o Xfce Terminal Emulator 0.4.3 e o bash (embora, se houver uma solução em outro shell comum, mas não no bash, eu esteja aberto a isso também)
top
não parece mostrar todos os processos específicos em execução no shell (por exemplo, não apareceping
). Isso me fornece um PID para o emulador de terminal, mas isso mata o emulador de terminal como seria de esperar.top -U yourusername
terminal, ele listará apenas o processo que você está usando.Eu costumo fazer algo assim:
ps aux | grep $PROCESS | grep -v grep | awk '{print $2 " " $11}'
Por exemplo, se $ PROCESS = "bash", esta é a saída da minha sessão atual:
Então, eu iria
kill $PID
para o que/bin/bash
eu não quero mais estar executando.ps
,grep
e (opcionalmente)awk
são úteis para procurar PIDskill
.fonte