Yanıtlar:
En bariz, ancak% 100 doğru olmayan yol, bu komutu konsolda yürütmektir.
$ tmux -V
ve tmux 2.9a
şu anda çalışmayan tmux INSTALLED sürümüyle bunun gibi çıktı alırsınız . % 99 durumlarda bu yeterlidir, ancak ince nüanslar olabilir.
Komut tmux -V
, / usr / bin / tmux veya PATH değişkeninizin içindeki herhangi bir dizinde kurulu tmux sürümünü döndürür. Zaten çalışmakta olan tmux'nuz varsa, tmux'un başka bir sürümün ikilisinden ve farklı bir yerden başlatılması mümkündür (örneğin, tmux'dan başlatılabilir /home/user/bin/tmux
). Bu durumda aramalısınız
$ ps -e | grep tmux
şu anda çalışan tüm tmux işlemlerinin PID'sini görmek için. Böyle bir şey çıkacak
[vodolaz095@ivory ~]$ ps -e | grep tmux
19699 pts/0 00:00:00 tmux: client
19701 ? 00:00:00 tmux: server
Burada, 19701 sayısı şu anda çalışan tmux sunucusunun işlem kimliğini (PID) göstermektedir.
Tmux sunucusunun PID'sini aldıktan sonra komut çalıştırabilirsiniz.
$ lsof -p 19701
ŞU ANDA ÇALIŞAN tmux sunucu süreci (benim durumumda 19701) hakkında bilgi almak için böyle bir şey çıkacak (Şekil 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
görebileceğiniz gibi, şu anda çalışan tmux / usr / bin / tmux içine yerleştirilmiş ikilik dosyadan yürütüldü.
Veya bir astar çağırabilirsiniz
lsof -p `pgrep 'tmux: server'`
Şekil 1 ile aynı çıktıyı elde etmek için
Tmux ikili CURRENTLY RUNNING yolunu aldıktan sonra (benim durumumda öyleydi /usr/bin/tmux
), sürümünü almak için bu ikiliyi -V bayrağıyla çalıştırabilirsiniz.
/usr/bin/tmux -V
veya tmux, sınırlı bir kullanıcı tarafından /home/user/bin/tmux
,
/home/user/bin/tmux -V
Ve sonuç olarak, kurulu olanı değil, şu anda çalışan tmux sürümünü alacaksınız.
tmux
Verilen işlem başladığından beri yükseltilirse bunun işe yaramayacağını belirtmekte fayda var .
ps: option requires an argument -- u
tmux -V
, Ubuntu ve OSX üzerinde test edildi
which tmux
yolu bulmak için kullanabilirsiniz
Bir yorumda belirtildiği gibi tmux -V
, sürümü döndürür:
$ tmux -V
# tmux 1.8
Centos 7 ve OSX 10.11.5 üzerinde test edilmiştir.
Çalışmakta olan tmux'un gerçek sürümünü bulmak için tmux'un PID'sini bulmanız gerekir:
pgrep tmux
Bu bilgilerle, aşağıdakileri çalıştırarak sürümü kontrol edebilirsiniz:
lsof -p $tmuxPID | grep REG | grep -i -e deleted -e "tmux$"
Listelenen tmux dosyasının yanında (silinmiş) yoksa, bu dosyayı bir -V
.
Bu, "(silinmiş)" dosyalara neden oluyorsa, eski, kaldırılmış bir sürümü çalıştırıyorsunuz demektir. Linux'taysanız, şunu çalıştırarak bunun ne olduğunu anlayabilirsiniz:
/proc/$tmuxPID/exe -V`
OS X kullanıyorsanız, dosya adına giden yolda herhangi bir bilgi, muhtemelen buna benzer bir şeyle takılıp kalıyorsunuz Cellar/tmux/<version number>/bin/tmux
.
Bu adımların çoğunu aşağıdaki tek satırda birleştirebilirsiniz:
for tmuxPID in $(pgrep tmux); do lsof -p $tmuxPID | grep REG | grep -i -e deleted -e "tmux$"; done
Veya Linux'taysanız, bu her zaman çalışır:
for tmuxPID in $(pgrep tmux); do /proc/$tmuxPID/exe -V; done
Tmux sunucusunun sürümünü almak için display- message'ı kullanabilirsiniz.
./tmux2.3 display-message -p "#{version}"
Sunucunun sürümünü gösterecek (benim durumumda 2.7)
-p, stdout'un çıktısını yönlendirir, böylece onunla komut dosyası oluşturabilirsiniz ve {version}, kılavuz sayfasındaki FORMATLAR bölümünden herhangi bir şey olabilir.
Aşağıdakiler size tmux sunucunuzun çalıştırılabilir dosyasını verecektir.
realpath /proc/$(tmux display-message -p "#{pid}")/exe
/proc
; Kesmek sadece (fakat genellikle taşınabilir değil ve muhtemelen Solaris vb) Linux
tmux -V