tmux:检测哪个进程在活动窗格中运行


12

有没有一种方法可以检测活动窗格中正在运行的进程?

tmux:找到“我的”窗口,检查它是否处于活动状态,但是,它处理来自窗格内的检测。

我需要从外部命令(而不是从tmux会话中)检测到这一点。

该问题很可能可以归结为两个步骤:

  1. 检测哪个窗格处于活动状态
  2. 检测在给定窗格中运行的进程

您会发现我的脚本很有帮助。
x-yuri

Answers:


13

事实证明,tmux对list-panes命令具有强大的格式化功能:

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

上面的命令将打印

1 <process_pid>

用于活动窗格。

Fromatting选项在man tmux

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

有关术语“窗格中的第一个进程”的讨论,请参见tmux中的“窗格的第一个pid”是什么意思?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.