tmux: Wykrywa, który proces działa w aktywnym panelu

12

Czy istnieje sposób na wykrycie, który proces działa w aktywnym okienku?

tmux: Znajdź okno „moje”, sprawdź, czy jest ono powiązane, jednak zajmuje się wykrywaniem z poziomu panelu.

Muszę to wykryć z zewnętrznego polecenia (nie z sesji tmux).

Problem najprawdopodobniej sprowadza się do dwóch kroków:

  1. Wykryj, który panel jest aktywny
  2. Wykryj, który proces działa w danym okienku
Enuy
źródło
Pomocny może być mój skrypt .
x-yuri

Odpowiedzi:

13

Okazuje się, że tmux ma potężne możliwości formatowania dla polecenia list-panes:

$ tmux list-panes -F '#{pane_active} #{pane_pid}'
0 4993
0 5382
1 6189

Polecenie powyżej zostanie wydrukowane

1 <process_pid>

dla aktywnego panelu.

Opcje fromattingu opisano w man tmux:

 pane_active                     1 if active pane
 pane_pid                        PID of first process in pane

Aby zapoznać się z terminem „pierwszy proces w okienku”, zobacz Co oznacza „pierwszy pid w okienku” w tmux?

Enuy
źródło