2014-11-02 216 views

回答

31
$ ps -u | grep tmux 

比通过此路径运行tmux与-V(大写字母V)。

+3

值得一提的是,如果自从给定进程启动后'tmux'已经升级,这将不起作用。 – 2014-11-02 23:41:25

+2

在MacOsX中我有一个错误 'ps:option需要参数 - u' – alexserver 2015-11-19 20:47:17

+25

只是运行'tmux -V',在Ubuntu和OSX – 2016-05-17 22:46:16

9

要查找运行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 
61

正如指出的评论, tmux -V返回版本:

$ tmux -V 
# tmux 1.8 

测试在CentOS 7和OSX 10.11.5。

+1

这应该是选定的答案。也在亚马逊Linux上测试过这个 – 2017-03-07 17:34:07

+4

我不认为这回答了这个问题。我不确定为什么它的评分如此之高。该命令只是返回我路径中任何tmux的版本。 – arman 2017-03-25 00:29:56

+2

这是因为这显示为*如何获得tmux版本*的第一个结果。 – 2017-08-21 22:56:31

相关问题