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?
$ ps -u | grep tmux
que exécuter tmux par ce chemin avec -V
(capital V).
Comme indiqué dans un commentaire, tmux -V
renvoie la version:
$ tmux -V
# tmux 1.8
Testé sur Centos 7 et OSX 10.11.5.
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
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