Wie finde ich die aktuell laufende Version von tmux heraus?
137
Ich weiß , dass ich laufen kann tmux -Vdie Version zu finden , tmuxdass in meinem ist PATH, aber wie kann ich die Version von tmuxder ist derzeit läuft ?
Die naheliegendste, aber nicht 100% korrekte Methode besteht darin, diesen Befehl in der Konsole auszuführen
$ tmux -V
und erhalten Sie eine Ausgabe wie diese tmux 2.9amit der Version von tmux INSTALLED, die derzeit nicht ausgeführt wird. In 99% der Fälle reicht es aus, aber es kann subtile Nuancen geben.
Der Befehl tmux -V gibt die Version von tmux zurück, die unter / usr / bin / tmux oder einem anderen Verzeichnis in Ihrer PATH-Variablen installiert ist. Wenn tmux bereits ausgeführt wird, kann tmux möglicherweise von einer Binärdatei einer anderen Version und von einem anderen Ort aus gestartet werden (z. B. kann tmux von dort aus gestartet werden /home/user/bin/tmux). In diesem Fall müssen Sie anrufen
$ ps -e | grep tmux
um die PID aller aktuell ausgeführten tmux-Prozesse anzuzeigen. Es wird so etwas ausgeben
Hier zeigt Nummer 19701 die Prozess-ID (PID) des aktuell ausgeführten tmux-Servers.
Nachdem Sie die PID des tmux-Servers erhalten haben, können Sie den Befehl ausführen
$ lsof -p 19701
um Informationen über den aktuell laufenden tmux-Serverprozess (in meinem Fall 19701) zu erhalten, der so etwas ausgibt (Abbildung 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
Wie Sie sehen können, wurde tmux, das gerade ausgeführt wird, von einer Binärdatei ausgeführt, die in / usr / bin / tmux abgelegt ist.
Oder Sie können einen Liner anrufen
lsof -p `pgrep 'tmux: server'`
um die gleiche Leistung wie in Abbildung 1 zu erzielen
Nachdem Sie den Pfad zu tmux binary CURRENTLY RUNNING erhalten haben (in meinem Fall war es das /usr/bin/tmux), können Sie diese Binärdatei mit dem Flag -V ausführen, um ihre Version zu erhalten
/usr/bin/tmux -V
oder, wenn tmux von einem eingeschränkten Benutzer in installiert wurde /home/user/bin/tmux,
/home/user/bin/tmux -V
Als Ergebnis erhalten Sie eine Version von tmux, die derzeit ausgeführt wird, nicht die, die installiert wurde.
Dies sollte die ausgewählte Antwort sein. Auch getestet auf Amazon Linux Brady
Brady Dowling
7
Ich denke nicht, dass dies die Frage beantwortet. Ich bin mir nicht sicher, warum es so hoch bewertet wird. Dieser Befehl gibt nur die Version von tmux zurück, die sich in meinem Pfad befindet.
Quant
4
Dies liegt daran, dass dies als erstes Ergebnis von How to get tmux version angezeigt wird .
Derek 21 會 功夫
hasse den Spieler nicht, hasse das Spiel
sixty4bit
13
Um die aktuelle Version des laufenden tmux zu finden, müssen Sie die PID des tmux ermitteln:
pgrep tmux
Mit diesen Informationen können Sie die Version überprüfen, indem Sie Folgendes ausführen:
Wenn neben der aufgelisteten tmux-Datei keine (gelöschte) Datei angezeigt wird, können Sie diese Datei einfach mit einer ausführen -V.
Wenn dies zu Dateien führt, die "(gelöscht)" sind, führen Sie eine alte, deinstallierte Version aus. Wenn Sie unter Linux arbeiten, können Sie herausfinden, was es ist, indem Sie Folgendes ausführen:
/proc/$tmuxPID/exe -V`
Wenn Sie unter OS X arbeiten, bleiben Sie bei den Informationen im Pfad zum Dateinamen hängen, möglicherweise bei so etwas Cellar/tmux/<version number>/bin/tmux.
Sie können viele dieser Schritte in den folgenden Einzeiler kombinieren:
for tmuxPID in $(pgrep tmux); do lsof -p $tmuxPID | grep REG | grep -i -e deleted -e "tmux$"; done
Oder wenn Sie unter Linux arbeiten, funktioniert dies immer:
for tmuxPID in $(pgrep tmux); do /proc/$tmuxPID/exe -V; done
Um die Version des tmux- Servers zu erhalten , können Sie display-message verwenden.
./tmux2.3 display-message -p "#{version}"
Zeigt die Version des Servers an (2.7 in meinem Fall)
-p steuert die Ausgabe von stdout, damit Sie damit ein Skript erstellen können, und {version} kann alles aus dem Abschnitt FORMATS in der Manpage sein.
Im Folgenden finden Sie die ausführbare Datei Ihres tmux-Servers.
tmux -V
Antworten:
Die naheliegendste, aber nicht 100% korrekte Methode besteht darin, diesen Befehl in der Konsole auszuführen
und erhalten Sie eine Ausgabe wie diese
tmux 2.9a
mit der Version von tmux INSTALLED, die derzeit nicht ausgeführt wird. In 99% der Fälle reicht es aus, aber es kann subtile Nuancen geben.Der Befehl
tmux -V
gibt die Version von tmux zurück, die unter / usr / bin / tmux oder einem anderen Verzeichnis in Ihrer PATH-Variablen installiert ist. Wenn tmux bereits ausgeführt wird, kann tmux möglicherweise von einer Binärdatei einer anderen Version und von einem anderen Ort aus gestartet werden (z. B. kann tmux von dort aus gestartet werden/home/user/bin/tmux
). In diesem Fall müssen Sie anrufenum die PID aller aktuell ausgeführten tmux-Prozesse anzuzeigen. Es wird so etwas ausgeben
Hier zeigt Nummer 19701 die Prozess-ID (PID) des aktuell ausgeführten tmux-Servers.
Nachdem Sie die PID des tmux-Servers erhalten haben, können Sie den Befehl ausführen
um Informationen über den aktuell laufenden tmux-Serverprozess (in meinem Fall 19701) zu erhalten, der so etwas ausgibt (Abbildung 1)
Wie Sie sehen können, wurde tmux, das gerade ausgeführt wird, von einer Binärdatei ausgeführt, die in / usr / bin / tmux abgelegt ist.
Oder Sie können einen Liner anrufen
um die gleiche Leistung wie in Abbildung 1 zu erzielen
Nachdem Sie den Pfad zu tmux binary CURRENTLY RUNNING erhalten haben (in meinem Fall war es das
/usr/bin/tmux
), können Sie diese Binärdatei mit dem Flag -V ausführen, um ihre Version zu erhaltenoder, wenn tmux von einem eingeschränkten Benutzer in installiert wurde
/home/user/bin/tmux
,Als Ergebnis erhalten Sie eine Version von tmux, die derzeit ausgeführt wird, nicht die, die installiert wurde.
quelle
tmux
es seit dem Start des angegebenen Prozesses aktualisiert wurde.ps: option requires an argument -- u
tmux -V
, getestet auf Ubuntu und OSXwhich tmux
den Weg herausfindenGibt, wie in einem Kommentar erwähnt,
tmux -V
die Version zurück:Getestet unter Centos 7 und OSX 10.11.5.
quelle
Um die aktuelle Version des laufenden tmux zu finden, müssen Sie die PID des tmux ermitteln:
Mit diesen Informationen können Sie die Version überprüfen, indem Sie Folgendes ausführen:
Wenn neben der aufgelisteten tmux-Datei keine (gelöschte) Datei angezeigt wird, können Sie diese Datei einfach mit einer ausführen
-V
.Wenn dies zu Dateien führt, die "(gelöscht)" sind, führen Sie eine alte, deinstallierte Version aus. Wenn Sie unter Linux arbeiten, können Sie herausfinden, was es ist, indem Sie Folgendes ausführen:
Wenn Sie unter OS X arbeiten, bleiben Sie bei den Informationen im Pfad zum Dateinamen hängen, möglicherweise bei so etwas
Cellar/tmux/<version number>/bin/tmux
.Sie können viele dieser Schritte in den folgenden Einzeiler kombinieren:
Oder wenn Sie unter Linux arbeiten, funktioniert dies immer:
quelle
Um die Version des tmux- Servers zu erhalten , können Sie display-message verwenden.
Zeigt die Version des Servers an (2.7 in meinem Fall)
-p steuert die Ausgabe von stdout, damit Sie damit ein Skript erstellen können, und {version} kann alles aus dem Abschnitt FORMATS in der Manpage sein.
Im Folgenden finden Sie die ausführbare Datei Ihres tmux-Servers.
quelle
/proc
Hack ist nur Linux (und möglicherweise Solaris usw .; aber nicht allgemein portabel)