小编典典

Tmux:如何找出当前运行的 tmux 版本?

all

我知道我可以运行tmux -V以找到我的版本,但tmux我PATH怎样才能获得当前tmux正在运行的版本?


阅读 249

收藏
2022-07-13

共1个答案

小编典典

最明显但不是 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

获取有关 CURRENTLY RUNNING 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 binary CURRENTLY RUNNING 的路径后(在我的情况下,它是/usr/bin/tmux),您可以使用标志 -V 执行此二进制文件以获取其版本

/usr/bin/tmux -V

或者,如果 tmux 是由受限用户安装到的/home/user/bin/tmux

/home/user/bin/tmux -V

结果,您将获得当前运行的 tmux 版本,而不是已安装的版本。

2022-07-13