Я знаю, что я могу запустить tmux -V
, чтобы найти версию tmux
, которая находится в моем PATH
, но как я могу получить версию tmux
, которая в данный момент запущена?
Как узнать текущую версию tmux?
Ответ 1
$ ps -u | grep tmux
затем запустите tmux, используя этот путь с -V
(заглавная V).
Ответ 2
Как указано в комментарии, tmux -V
возвращает версию:
$ tmux -V
# tmux 1.8
Протестировано на Centos 7 и OSX 10.11.5.
Ответ 3
Чтобы найти фактическую версию запущенного 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
Ответ 4
Чтобы получить версию сервера tmux, вы можете использовать display-message.
./tmux2.3 display-message -p "#{version}"
покажет версию сервера (2.7 в моем случае)
-p будет направлять вывод stdout, чтобы вы могли создавать сценарии с ним, а {version} может быть любым из раздела FORMATS на странице man.
Ниже приведен исполняемый файл вашего сервера tmux.
realpath /proc/$(tmux display-message -p "#{pid}")/exe