Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".
Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Byla vydána verze 5.30 dnes již open source operačního systému RISC OS (Wikipedie).
V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …
Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.
Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.
Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.
Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.
top -b -n 1 -p "$mujprocespid"|grep "$mujprocespid" |awk '{ print $9 }'
Řešení dotazu:
Ja len ze ten grep je nepotrebny:
top -b -n 1 -p "$pid" | awk '/'"$pid"'/{ print $9 }'
Viem, ze si cakal viac, ale jednoduchsie ako to mas, to ja nepoznam.
Nic extra, ale aspon sa netreba spoliehat na 9. pole, co popravde aj mna napadlo este pred odoslanim prveho prispevku.
pid=""; while $(ps "$pid" &>/dev/null); do top -d 0.1 -b -n 1 -p "$pid" | awk '/'%CPU'/{for (i = 1; i <= NF; i++) ( $i ~ "%CPU") && field=i; getline; print $field;}'; done
-d parameter pre top si samozrejme nastav sam, hoc to, co potato spominal, bude zrejme viac davat realne vysledky.
#!/bin/bash myprogram="ipolldevd" pidmyprogram="$(pgrep -x $myprogram)" choosecolumn="%CPU" cpuloadmyprogram=$(top -b -n 1 -p "$pidmyprogram" | awk ' NR==FNR { for(i=1;i<=NF;i++) if ($i ~ "'"$choosecolumn"'") { nrcolumn=""i""; next }} /'"$pidmyprogram"'/{ print $nrcolumn }') echo $cpuloadmyprogram
Takže například přečíst jednou, počkat, přečíst podruhé, vydělit časovým intervalem a $(getconf CLK_TCK).Proč to ještě dělit getconf CLK_TCK? Nestačí jenom:
(přečíst_jednou - přečíst_podruhé)/časový_interval
#Total time spent for the process: total_time = utime + stime #If we want to include the time from children processes: #total_time = total_time + cutime + cstime #cpu_usage = 100 * ((total_time / Hertz) / seconds) #!/bin/bash myprogram="ipolldevd" pidmyprogram="$(pgrep -x $myprogram)" seconds="5" hertz="$(getconf CLK_TCK)" cputime1=$(cat /proc/$pidmyprogram/stat | awk '{print "(" , $14, " + ", $15, ")"}' | bc) sleep "$seconds" cputime2=$(cat /proc/$pidmyprogram/stat | awk '{print "(" , $14, " + ", $15, ")"}' | bc) cpuload=$(echo "100*(${cputime2} - ${cputime1})/$seconds/$hertz" | bc) echo $cputimeDíky za radu s tím "getconf CLK_TCK". Podle tohoto "klíčového" slova se už na internetu zobrazí odkazy na měření zátěže CPU. Vyřešeno, díky.
#!/bin/bash myprogram="ipolldevd" pidmyprogram="$(pgrep -x $myprogram)" seconds="2" CORES=$(grep -c ^processor /proc/cpuinfo 2>/dev/null) START=`awk 'BEGIN {sum = 0} /^cpu /{ for (i = 1; i <= NF; ++i) { sum += $i } } END {print sum}' /proc/stat` cputime1=$(cat /proc/$pidmyprogram/stat | awk '{print "(" , $14, " + ", $15, ")"}' | bc) sleep "$seconds" cputime2=$(cat /proc/$pidmyprogram/stat | awk '{print "(" , $14, " + ", $15, ")"}' | bc) STOP=`awk 'BEGIN {sum = 0} /^cpu /{ for (i = 1; i <= NF; ++i) { sum += $i } } END {print sum}' /proc/stat` cpuload=$(echo "${CORES} * 100 * (${cputime2} - ${cputime1})/(${STOP} - ${START})" | bc) echo "Celkova zatez programu = $cpuload procent"
Tiskni Sdílej: