web-dev-qa-db-fra.com

Comment trouver la version actuelle de tmux?

Je sais que je peux exécuter tmux -V pour trouver la version de tmux qui se trouve dans mon PATH, mais comment puis-je obtenir la version de tmux qui est en cours d'exécution?

97
quant
$ ps -u | grep tmux

que exécuter tmux par ce chemin avec -V (capital V).

35
vodolaz095

Comme indiqué dans un commentaire, tmux -V renvoie la version:

$ tmux -V
# tmux 1.8

Testé sur Centos 7 et OSX 10.11.5.

138
sixty4bit

Pour trouver la version actuelle du tmux en cours d'exécution, vous devez trouver le PID du tmux:

pgrep tmux

Avec cette information, vous pouvez vérifier la version en lançant:

lsof -p $tmuxPID | grep REG | grep -i -e deleted -e "tmux$"

Si aucun fichier (supprimé) ne figure à côté du fichier tmux, vous pouvez simplement exécuter ce fichier avec un -V.

S'il en résulte des fichiers "(supprimés)", vous exécutez une ancienne version désinstallée. Si vous êtes sur Linux, vous pouvez le comprendre en lançant:

/proc/$tmuxPID/exe -V`

Si vous êtes sous OS X, vous êtes bloqué avec les informations qui se trouvent dans le chemin du nom de fichier, par exemple, quelque chose comme Cellar/tmux/<version number>/bin/tmux.

Vous pouvez combiner plusieurs de ces étapes dans la ligne suivante:

for tmuxPID in $(pgrep tmux); do lsof -p $tmuxPID | grep REG | grep -i -e deleted -e "tmux$"; done

Ou si vous êtes sur Linux, cela fonctionne toujours:

for tmuxPID in $(pgrep tmux); do /proc/$tmuxPID/exe -V; done
11
ClashTheBunny

Pour obtenir la version de tmux serveur vous pouvez utiliser display-message.

./tmux2.3 display-message -p "#{version}"

Affiche la version du serveur (2.7 dans mon cas)

-p dirigera la sortie de stdout pour que vous puissiez écrire un script avec elle et {version} peut être n'importe quoi dans la section FORMATS de la page de manuel.

Ce qui suit vous donnera l'exécutable de votre serveur tmux.

realpath /proc/$(tmux display-message -p "#{pid}")/exe
3
whatintheworld