Answers:
最明显但不是100%正确的方法是在控制台中执行此命令
$ tmux -V
并tmux 2.9a
使用当前未运行的tmux INSTALLED版本接收类似的输出。在99%的情况下,这足够了,但可能会有细微的差别。
命令tmux -V
将返回安装在/ usr / bin / tmux或PATH变量内任何其他目录中的tmux版本。如果您已经在运行tmux,则可以从其他版本的二进制文件和其他位置启动tmux(例如,可以从启动tmux /home/user/bin/tmux
)。在这种情况下,您必须致电
$ ps -e | grep tmux
查看当前正在运行的所有tmux进程的PID。它将输出类似这样的内容
[vodolaz095@ivory ~]$ ps -e | grep tmux
19699 pts/0 00:00:00 tmux: client
19701 ? 00:00:00 tmux: server
在这里,数字19701描述了当前正在运行的tmux服务器的进程ID(PID)。
获取tmux服务器的PID后,可以运行命令
$ lsof -p 19701
获取有关当前正在运行的tmux服务器进程(在我的情况下为19701)的信息,该进程将输出类似以下内容(图1)
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
tmux:\x20 19701 vodolaz095 cwd DIR 8,33 4096 22544385 /home/vodolaz095
tmux:\x20 19701 vodolaz095 rtd DIR 8,1 4096 2 /
tmux:\x20 19701 vodolaz095 txt REG 8,1 677760 3675332 /usr/bin/tmux
tmux:\x20 19701 vodolaz095 mem REG 8,1 6406312 131327 /var/lib/sss/mc/group
如您所见,当前正在运行的tmux是从/ usr / bin / tmux中的二进制文件执行的。
或者,您可以拨打一个班轮
lsof -p `pgrep 'tmux: server'`
实现与图1相同的输出
在获得当前正在运行的tmux二进制文件的路径(在我的情况下是/usr/bin/tmux
)之后,您可以使用-V标志执行此二进制文件以获取其版本
/usr/bin/tmux -V
或者,如果tmux是受限用户安装的/home/user/bin/tmux
,
/home/user/bin/tmux -V
这样一来,您将获得当前正在运行的tmux版本,而不是已安装的版本。
tmux
自给定过程开始以来已进行升级,则此操作将无效。
ps: option requires an argument -- u
tmux -V
,并在Ubuntu和OSX上进行了测试
which tmux
来寻找路径
要查找正在运行的tmux的实际版本,您必须找到tmux的PID:
pgrep tmux
有了此信息,您可以通过运行以下命令检查版本:
lsof -p $tmuxPID | grep REG | grep -i -e deleted -e "tmux$"
如果列出的tmux文件旁边没有(已删除),则可以使用来运行该文件-V
。
如果生成的文件为“(已删除)”,则说明您正在运行旧的卸载版本。如果您使用的是Linux,则可以通过运行以下命令了解它的含义:
/proc/$tmuxPID/exe -V`
如果您使用的是OS X,则文件名路径中的任何信息都将被您牢牢抓住,可能是Cellar/tmux/<version number>/bin/tmux
。
您可以将这些步骤中的许多步骤组合为以下一种代码:
for tmuxPID in $(pgrep tmux); do lsof -p $tmuxPID | grep REG | grep -i -e deleted -e "tmux$"; done
或者,如果您使用的是Linux,则始终可以:
for tmuxPID in $(pgrep tmux); do /proc/$tmuxPID/exe -V; done
要获取tmux 服务器的版本,可以使用display-message。
./tmux2.3 display-message -p "#{version}"
将显示服务器的版本(以我的情况为2.7)
-p将指示stdout的输出,因此您可以使用它来编写脚本,而{version}可以是手册页中FORMATS部分中的任何内容。
以下内容将为您提供tmux服务器的可执行文件。
realpath /proc/$(tmux display-message -p "#{pid}")/exe
/proc
黑客是仅Linux(和可能的Solaris等;但一般不便携式)
tmux -V