tmux: Mendeteksi proses mana yang berjalan di panel aktif

12

Apakah ada cara bagaimana mendeteksi proses apa yang berjalan di panel aktif?

tmux: Temukan jendela "saya", periksa apakah itu aktif terkait, namun, ini berkaitan dengan deteksi dari dalam panel.

Saya perlu mendeteksi ini dari perintah eksternal (bukan dari dalam sesi tmux).

Masalahnya kemungkinan besar bermuara pada dua langkah:

  1. Deteksi panel mana yang aktif
  2. Mendeteksi proses apa yang berjalan di panel yang diberikan
Enuy
sumber
Anda dapat menemukan skrip saya bermanfaat.
x-yuri

Jawaban:

13

Ternyata tmux memiliki kemampuan pemformatan yang kuat untuk perintah list-panes:

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

Perintah di atas akan dicetak

1 <process_pid>

untuk panel aktif.

Opsi pengaturan area dijelaskan dalam man tmux:

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

Untuk diskusi tentang istilah "proses pertama di panel", lihat Apa arti "pid pertama panel" di tmux?

Enuy
sumber