$2 $4 $5 ne anlama geliyor?

Başlatan .py, 21 Ağustos 2019 - 17:35:12

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

.py

grep 'cpu ' /proc/stat

Yukarıda kodun çıktısı aşağıda:

cpu  175524 4080 47242 854937 12807 0 940 0 0 0

kodun devamı ise bu: merak ettiğim konu ise aşağıdaki $2 $4 $5 ne anlama geliyor?

grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage "%"}'

gözle görerek topladığımda sonuç farklı çıkıyor 2,4,5 'in ne anlama geldiğini bir türlü çözemedim.

extremebrutal


mhmtkrktr

Komut çıktısının ikinci , dördüncü ve beşinci değeri anlamına geliyor.

Senin hesabın doğru çıkmamasının sebebi, cpu değeri sürekli değiştiği için, komuta tek baktığın da farklı bir değer, pipe ile baktığın da ise cpu değerinin değişmiş olmasından dolayı, bu hesabın farklı bir değer üzerinden yapılmış olması olabilir.
Bunu önlemek için değeri değişkene yazarak sabitleyebilirsin.
VAR=$(grep 'cpu ' /proc/stat); echo "$VAR"; echo $VAR | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage "%"}'

İkinci bir sebepte matematik sorunu olabilir.  :)
Orada ki işlemleri parantez içerisinde gruplandırarak yapmak gerekir. örn:
cpu 20 21 40 60 değeri ve
($2+$4)*100/($2+$4+$5)} işlemi için
20+40*100/20+40+60 yanlış hesaplama olur. bu işlem,
(60)*100/(120) şeklinde hesaplanır.

.py

Cevapladığınız için teşekkürler.

Empat

[mention=648819]@.py[/mention]
Sorunuz veya sorularınız sonucunda size dilediğiniz bilgiler verildiyse, forum düzeninin sürdürülebilirliğine katkı sağlamak için, konu başlığınızı [Çözüldü] olarak işaretlemenizi rica ediyoruz.

Başka bir sorunun yanıtını bulamaz ya da bir sorunla karşılaşırsanız yeni bir konu açabilirsiniz.

İyi forumlar.
Everything for me is just Peace - Love - Coding. Also, as they say: I am a programmer, I have no life!