識別啟動特定進程的終端會話

識別啟動特定進程的終端會話

我在 Ubuntu 上使用 Gnome。我經常打開 8-20 個終端會話,並且在其中一些會話中我已 su 到不同的用戶。導致我編寫此查詢的具體問題發生在使用時git 狀態,但這是更普遍的問題。 git 狀態會告訴我有一個不受控制的檔案 .foo.java.swp。這意味著在我的一個終端會話中,我在 foo.java 上打開了 vi。

我需要一個腳本或工具來告訴我 vi 正在哪個終端會話中運行。我可以執行“ps aux | grep vi”來輕鬆找到特定 vi 的 pid。如果該工具以某種方式突出顯示我的任務欄上的終端,那就太好了。

謝謝。

-薩姆

答案1

每個終端視窗都會分配一個不同的偽終端,可以透過指令存取tty。您可以將其與TTY輸出列交叉引用ps u。對於 GUI 集成,我通常發現使用以下命令將當前 pty 標識符添加到終端的視窗標題就足夠了標題, 喜歡

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

在我的視窗管理器中按標題跳到視窗很容易,但對 GNOME 不了解。

相關內容