Identifique minha sessão de terminal que iniciou um processo específico

Identifique minha sessão de terminal que iniciou um processo específico

Estou usando o Gnome no Ubuntu. Freqüentemente, tenho de 8 a 20 sessões de terminal abertas e, em algumas delas, enviei para um usuário diferente. O problema específico que me levou a escrever esta consulta acontece ao usarstatus do git, mas esta é uma questão mais geral. status do gitvai me dizer que tenho um arquivo não controlado .foo.java.swp. Isso significa que em uma das minhas sessões de terminal eu abri o vi em foo.java.

Preciso de um script ou ferramenta que me diga em qual sessão de terminal o vi está sendo executado. Eu posso fazer um "ps aux | grep vi" para encontrar facilmente o pid do vi específico. Seria bom se a ferramenta destacasse de alguma forma o terminal na minha barra de tarefas.

Obrigado.

-Sam

Responder1

Cada uma das janelas do seu terminal terá um pseudoterminal diferente atribuído, acessível pelo ttycomando. Você pode cruzar isso com a TTYcoluna da sua ps usaída. Para integração GUI, geralmente achei suficiente adicionar o identificador pty atual ao título da janela do meu terminal usandoxtítulo, como

if [ "$PS1" ] ; then
  xtitle xterm $(tty)
fi

Ir para uma janela por título é fácil no meu gerenciador de janelas, não faço ideia do GNOME.

informação relacionada