Réponses:
La manière la plus évidente, mais pas correcte à 100%, consiste à exécuter cette commande dans la console
$ tmux -V
et recevez une sortie comme celle-ci tmux 2.9a
avec la version de tmux INSTALLED, qui n'est pas en cours d'exécution. Dans 99% des cas, cela suffit, mais il peut y avoir des nuances subtiles.
La commande tmux -V
retournera la version de tmux installée dans / usr / bin / tmux ou tout autre répertoire dans votre variable PATH. Si vous avez déjà tmux en cours d'exécution, il est possible que tmux puisse être démarré à partir d'un binaire d'une autre version et d'un endroit différent (par exemple, tmux peut être démarré à partir de /home/user/bin/tmux
). Dans ce cas, vous devez appeler
$ ps -e | grep tmux
pour voir le PID de tous les processus tmux en cours d'exécution. Il produira quelque chose comme ça
[vodolaz095@ivory ~]$ ps -e | grep tmux
19699 pts/0 00:00:00 tmux: client
19701 ? 00:00:00 tmux: server
Ici, le numéro 19701 représente l'ID de processus (PID) du serveur tmux en cours d'exécution.
Après avoir obtenu le PID du serveur tmux, vous pouvez exécuter la commande
$ lsof -p 19701
pour obtenir des informations sur le processus du serveur tmux EN COURS D'EXÉCUTION (dans mon cas, c'est 19701) qui produira quelque chose comme ça (Figure 1)
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
tmux:\x20 19701 vodolaz095 cwd DIR 8,33 4096 22544385 /home/vodolaz095
tmux:\x20 19701 vodolaz095 rtd DIR 8,1 4096 2 /
tmux:\x20 19701 vodolaz095 txt REG 8,1 677760 3675332 /usr/bin/tmux
tmux:\x20 19701 vodolaz095 mem REG 8,1 6406312 131327 /var/lib/sss/mc/group
comme vous pouvez le voir, tmux en cours d'exécution a été exécuté à partir du binaire placé dans / usr / bin / tmux.
Ou, vous pouvez appeler une doublure
lsof -p `pgrep 'tmux: server'`
pour obtenir le même résultat que la figure 1
Après avoir obtenu le chemin vers le binaire tmux EN COURS D'EXÉCUTION, (dans mon cas, c'était le cas /usr/bin/tmux
), vous pouvez exécuter ce binaire avec l'indicateur -V pour obtenir sa version
/usr/bin/tmux -V
ou, si tmux a été installé par un utilisateur limité dans /home/user/bin/tmux
,
/home/user/bin/tmux -V
Et, par conséquent, vous obtiendrez la version de tmux en cours d'exécution, pas celle qui a été installée.
tmux
a été mis à niveau depuis le démarrage du processus donné.
ps: option requires an argument -- u
tmux -V
, testé sur Ubuntu et OSX
which tmux
pour trouver le chemin
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 ces informations, vous pouvez vérifier la version en exécutant:
lsof -p $tmuxPID | grep REG | grep -i -e deleted -e "tmux$"
S'il n'y a pas de (supprimé) à côté du fichier tmux répertorié, 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 sous Linux, vous pouvez comprendre ce que c'est en exécutant:
/proc/$tmuxPID/exe -V`
Si vous êtes sous OS X, vous êtes coincé avec les informations contenues dans le chemin d'accès au nom de fichier, peut-être quelque chose comme Cellar/tmux/<version number>/bin/tmux
.
Vous pouvez combiner plusieurs de ces étapes en une seule ligne suivante:
for tmuxPID in $(pgrep tmux); do lsof -p $tmuxPID | grep REG | grep -i -e deleted -e "tmux$"; done
Ou si vous êtes sous Linux, cela fonctionne toujours:
for tmuxPID in $(pgrep tmux); do /proc/$tmuxPID/exe -V; done
Pour obtenir la version du serveur tmux, vous pouvez utiliser display-message.
./tmux2.3 display-message -p "#{version}"
Montrera la version du serveur (2.7 dans mon cas)
-p dirigera la sortie de stdout afin que vous puissiez écrire avec lui et {version} peut être n'importe quoi de 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
/proc
hack est uniquement Linux (et éventuellement Solaris, etc., mais pas généralement portable)
tmux -V