Je sais que je peux courir tmux -Vpour trouver la version de tmuxqui est dans mon PATH, mais comment puis-je obtenir la version de tmuxqui est actuellement en cours d'exécution ?
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.9aavec 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
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.
Cela devrait être la réponse choisie. Également testé sur Amazon Linux 👍
Brady Dowling
7
Je ne pense pas que cela réponde à la question. Je ne sais pas pourquoi il est si bien noté. Cette commande renvoie simplement la version de tout tmux se trouvant sur mon chemin.
quant
4
C'est parce que cela apparaît comme le premier résultat de Comment obtenir la version tmux .
Derek 朕 會 功夫
ne déteste pas le joueur, déteste le jeu
sixty4bit
13
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:
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.
tmux -V
Réponses:
La manière la plus évidente, mais pas correcte à 100%, consiste à exécuter cette commande dans la console
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 appelerpour voir le PID de tous les processus tmux en cours d'exécution. Il produira quelque chose comme ça
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
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)
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
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 versionou, si tmux a été installé par un utilisateur limité dans
/home/user/bin/tmux
,Et, par conséquent, vous obtiendrez la version de tmux en cours d'exécution, pas celle qui a été installée.
la source
tmux
a été mis à niveau depuis le démarrage du processus donné.ps: option requires an argument -- u
tmux -V
, testé sur Ubuntu et OSXwhich tmux
pour trouver le cheminComme indiqué dans un commentaire,
tmux -V
renvoie la version:Testé sur Centos 7 et OSX 10.11.5.
la source
Pour trouver la version actuelle du tmux en cours d'exécution, vous devez trouver le PID du tmux:
Avec ces informations, vous pouvez vérifier la version en exécutant:
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:
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:
Ou si vous êtes sous Linux, cela fonctionne toujours:
la source
Pour obtenir la version du serveur tmux, vous pouvez utiliser display-message.
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.
la source
/proc
hack est uniquement Linux (et éventuellement Solaris, etc., mais pas généralement portable)