2014-11-02 5 views

ответ

31
$ ps -u | grep tmux 

чем пробег tmux по этому пути с -V (столица V).

+3

Следует отметить, что это не сработает, если «tmux» был обновлен с момента запуска данного процесса. –

+2

В MacOsX У меня есть ошибка 'ps: параметр требует аргумента - u' – alexserver

+25

просто запустите' tmux -V', протестированный на Ubuntu и OSX –

9

Чтобы найти актуальную версию tmux, который работает, вы должны найти PID в tmux:

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

Это должен быть выбранный ответ. Также проверено это на Amazon Linux –

+4

Я не думаю, что это отвечает на вопрос.Я не уверен, почему он так высоко оценен. Эта команда просто возвращает версию любого tmux на моем пути. – arman

+2

Это потому, что это появляется как первый результат * Как получить tmux версию *. –