tmux: Ermitteln Sie, welcher Prozess im aktiven Bereich ausgeführt wird


12

Gibt es eine Möglichkeit zu erkennen, welcher Prozess im aktiven Bereich ausgeführt wird?

tmux: Suchen Sie das Fenster "Mein" und prüfen Sie, ob es aktiv ist. Es befasst sich jedoch mit der Erkennung aus dem Bereich heraus.

Ich muss dies anhand eines externen Befehls erkennen (nicht innerhalb der tmux-Sitzung).

Das Problem besteht höchstwahrscheinlich aus zwei Schritten:

  1. Ermitteln Sie, welcher Bereich aktiv ist
  2. Ermitteln Sie, welcher Prozess im angegebenen Bereich ausgeführt wird

Sie können mein Skript hilfreich finden.
X-Yuri

Antworten:


13

Es stellt sich heraus, dass tmux über leistungsstarke Formatierungsfunktionen für den Befehl list-panes verfügt:

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

Der obige Befehl wird gedruckt

1 <process_pid>

für den aktiven Bereich.

Fromatting-Optionen werden beschrieben in man tmux:

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

Zur Diskussion des Begriffs "erster Prozess im Bereich" siehe Was bedeutet der "erste PID eines Bereichs" in tmux?

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.