tmux: Détecter quel processus s'exécute dans le volet actif


12

Existe-t-il un moyen de détecter quel processus s'exécute dans le volet actif?

tmux: recherchez "ma" fenêtre, vérifiez si elle est active est liée, cependant, elle traite de la détection à partir du volet.

J'ai besoin de détecter cela à partir d'une commande externe (pas à partir de la session tmux).

Le problème se résume très probablement à deux étapes:

  1. Détecter le volet actif
  2. Détecter quel processus s'exécute dans le volet donné

Vous pouvez trouver mon script utile.
x-yuri

Réponses:


13

Il s'avère que tmux possède de puissantes capacités de formatage pour la commande list-panes:

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

La commande ci-dessus s'imprimera

1 <process_pid>

pour le volet actif.

Les options de fromatting sont décrites dans man tmux:

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

Pour la discussion du terme "premier processus dans le volet", voir Que signifie le "premier pid d'un volet" dans tmux?

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.