Sé que puedo ejecutar tmux -Vpara encontrar la versión tmuxque está en mi PATH, pero ¿cómo puedo obtener la versión tmuxque se está ejecutando actualmente ?
La forma más obvia, pero no 100% correcta, es ejecutar este comando en la consola
$ tmux -V
y reciba una salida como esta tmux 2.9acon la versión de tmux INSTALADA, que actualmente no se está ejecutando. En el 99% de los casos es suficiente, pero puede haber sutiles matices.
El comando tmux -V devolverá la versión de tmux instalada en / usr / bin / tmux o cualquier otro directorio dentro de su variable PATH. Si ya tiene tmux ejecutándose, es posible que tmux pueda iniciarse desde un binario de otra versión y desde un lugar diferente (por ejemplo, tmux puede iniciarse desde /home/user/bin/tmux). En este caso, tienes que llamar
$ ps -e | grep tmux
para ver el PID de todos los procesos tmux actualmente en ejecución. Producirá algo como esto
Aquí, el número 19701 representa la identificación del proceso (PID) del servidor tmux actualmente en ejecución.
Después de obtener el PID del servidor tmux, puede ejecutar el comando
$ lsof -p 19701
para obtener información sobre el proceso actual del servidor tmux (en mi caso es 19701) que generará algo como esto (Figura 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
Como puede ver, tmux actualmente en ejecución se ejecutó desde un binario ubicado en / usr / bin / tmux.
O puedes llamar a un trazador de líneas
lsof -p `pgrep 'tmux: server'`
para lograr el mismo resultado que la Figura 1
Después de obtener la ruta al binario tmux EN EJECUCIÓN ACTUAL (en mi caso, lo fue /usr/bin/tmux), puede ejecutar este binario con la bandera -V para obtener su versión
/usr/bin/tmux -V
o, si tmux fue instalado por un usuario limitado en /home/user/bin/tmux,
/home/user/bin/tmux -V
Y, como resultado, obtendrá la versión de tmux actualmente en ejecución, no la que estaba instalada.
Esta debería ser la respuesta seleccionada. También probé esto en Amazon Linux 👍
Brady Dowling
77
No creo que esto responda la pregunta. No estoy seguro de por qué tiene una calificación tan alta. Ese comando solo devuelve la versión de lo que sea tmux en mi camino.
Quant
44
Es porque esto aparece como el primer resultado de Cómo obtener la versión tmux .
Derek 朕 會 功夫
no odies al jugador, odia el juego
sixty4bit
13
Para encontrar la versión real de tmux que se está ejecutando, debe encontrar el PID de tmux:
pgrep tmux
Con esta información, puede verificar la versión ejecutando:
Si no hay un (eliminado) al lado del archivo tmux en la lista, puede ejecutar ese archivo con un -V.
Si da como resultado archivos que están "(eliminados)", está ejecutando una versión antigua y desinstalada. Si está en Linux, puede averiguar qué es ejecutando:
/proc/$tmuxPID/exe -V`
Si está en OS X, está atascado con cualquier información que esté en la ruta al nombre del archivo, posiblemente algo así Cellar/tmux/<version number>/bin/tmux.
Puede combinar muchos de estos pasos en la siguiente línea:
for tmuxPID in $(pgrep tmux); do lsof -p $tmuxPID | grep REG | grep -i -e deleted -e "tmux$"; done
O si estás en Linux, esto siempre funciona:
for tmuxPID in $(pgrep tmux); do /proc/$tmuxPID/exe -V; done
tmux -V
Respuestas:
La forma más obvia, pero no 100% correcta, es ejecutar este comando en la consola
y reciba una salida como esta
tmux 2.9a
con la versión de tmux INSTALADA, que actualmente no se está ejecutando. En el 99% de los casos es suficiente, pero puede haber sutiles matices.El comando
tmux -V
devolverá la versión de tmux instalada en / usr / bin / tmux o cualquier otro directorio dentro de su variable PATH. Si ya tiene tmux ejecutándose, es posible que tmux pueda iniciarse desde un binario de otra versión y desde un lugar diferente (por ejemplo, tmux puede iniciarse desde/home/user/bin/tmux
). En este caso, tienes que llamarpara ver el PID de todos los procesos tmux actualmente en ejecución. Producirá algo como esto
Aquí, el número 19701 representa la identificación del proceso (PID) del servidor tmux actualmente en ejecución.
Después de obtener el PID del servidor tmux, puede ejecutar el comando
para obtener información sobre el proceso actual del servidor tmux (en mi caso es 19701) que generará algo como esto (Figura 1)
Como puede ver, tmux actualmente en ejecución se ejecutó desde un binario ubicado en / usr / bin / tmux.
O puedes llamar a un trazador de líneas
para lograr el mismo resultado que la Figura 1
Después de obtener la ruta al binario tmux EN EJECUCIÓN ACTUAL (en mi caso, lo fue
/usr/bin/tmux
), puede ejecutar este binario con la bandera -V para obtener su versióno, si tmux fue instalado por un usuario limitado en
/home/user/bin/tmux
,Y, como resultado, obtendrá la versión de tmux actualmente en ejecución, no la que estaba instalada.
fuente
tmux
se ha actualizado desde que se inició el proceso dado.ps: option requires an argument -- u
tmux -V
, probado en Ubuntu y OSXwhich tmux
para encontrar el caminoComo se señaló en un comentario,
tmux -V
devuelve la versión:Probado en Centos 7 y OSX 10.11.5.
fuente
Para encontrar la versión real de tmux que se está ejecutando, debe encontrar el PID de tmux:
Con esta información, puede verificar la versión ejecutando:
Si no hay un (eliminado) al lado del archivo tmux en la lista, puede ejecutar ese archivo con un
-V
.Si da como resultado archivos que están "(eliminados)", está ejecutando una versión antigua y desinstalada. Si está en Linux, puede averiguar qué es ejecutando:
Si está en OS X, está atascado con cualquier información que esté en la ruta al nombre del archivo, posiblemente algo así
Cellar/tmux/<version number>/bin/tmux
.Puede combinar muchos de estos pasos en la siguiente línea:
O si estás en Linux, esto siempre funciona:
fuente
Para obtener la versión del servidor tmux , puede usar display-message.
Mostrará la versión del servidor (2.7 en mi caso)
-p dirigirá la salida de stdout para que pueda escribir con él y {version} puede ser cualquier cosa desde la sección FORMATS en la página man.
Lo siguiente le dará el ejecutable de su servidor tmux.
fuente
/proc
truco es solo Linux (y posiblemente Solaris, etc.; pero no generalmente portátil)