• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Informacje Systemowe - Biblioteka C++

VPS Starter Arubacloud
0 głosów
188 wizyt
pytanie zadane 23 lipca 2020 w C i C++ przez kubekszklany Gaduła (3,170 p.)
edycja 23 lipca 2020 przez kubekszklany

Witam. Szukam biblioteki do c++, dzięki której odczytam takie informacje jak użycie procesora czy pamięci ram, najlepiej do linuxa. Mniej więcej coś takiego, tylko w cpp a nie w pythonie:

komentarz 23 lipca 2020 przez tkz Nałogowiec (42,000 p.)
Zdjęcie, szukasz na linuxa, AVR, ARM'a? Trochę mylący opis.
komentarz 23 lipca 2020 przez kubekszklany Gaduła (3,170 p.)
Napisałem, że biblioteka do c++, na linuxa. A z tego co się orientuję to chyba nie ma znaczenia czy to x86 czy arm, skoro dopiero przy kompilacji wybiera się architekturę. Ale żby być dokladnym, to chciałem zrobić dokładnie to co na zdjęciu wyżej, tylko na innym mikrokomputerze i innym wyświetlaczu. Datę i godzinę już mam wyświetloną, teraz potrzebuję biblioteki dzięki której będę mógł odczytać informacje systemowe, najlepiej te same co na zdjęciu wyżej.
komentarz 23 lipca 2020 przez tkz Nałogowiec (42,000 p.)

Gdyby architektura nie miała znaczenia, to nie było problemu z przeskokiem z x86 na ARM. A jest. AVR to również kompletnie inna budowa. 

W jaki sposób wybiera się architekturę przy kompilacji?

https://www.binarytides.com/linux-commands-hardware-info/

https://en.wikipedia.org/wiki/Procfs

komentarz 23 lipca 2020 przez kubekszklany Gaduła (3,170 p.)
Ale mi chodzi o bibliotekę w języku cpp. Przecież kod źródłowy nie ma określonej architektury. Przecież takie #include <iostream> mogę użyć bez względu na to czy to jest arm, x86, linux, windows czy jeszcze coś innego.
komentarz 23 lipca 2020 przez tkz Nałogowiec (42,000 p.)
AVR nie posiada iostream. Wszystko zależy, więc pytanie powinno być maksymalnie obdarzone szczegółami.
komentarz 23 lipca 2020 przez kubekszklany Gaduła (3,170 p.)
Hmm... Byłem przekonany, że kod źródłowy jest wszędzie taki sam, dopiero przy kompilacji ustalana jest architektura. Tak czy inaczej, jak już wyżej pisałem jest to mikrokomputer, więc linux na arm, a dokładniej arm64. Chodzi mi o samą bibliotekę, która posiada funkcję zwracającą powyższe wartości, tj. użycie cpu w procentach, użycie ramu w megabajtach, itd.
komentarz 24 lipca 2020 przez Oscar Nałogowiec (29,290 p.)

@kubekszklany,
 w linuxie to zwykle takie informacje są udostępniane w postaci pseudoplików w /sys, /proc itp. Wystarczy przeczytać odpowiedni.

komentarz 24 lipca 2020 przez kubekszklany Gaduła (3,170 p.)

Niby tak, ale zastanawiam się, czy ktoś już takiego kodu nie napisał i nie umieścił tego w bibliotece - bo samemu to napisać to trochę dużo roboty, a jeśli jest gdzieś gotowe rozwiązanie to chętnie skorzystam. Pamiętam jak kiedyś robiłem coś takiego na windowsa w c# i tam były gotowe biblioteki: https://forbot.pl/forum/topic/13293-monitor-zasobow-na-arduino/

1
komentarz 24 lipca 2020 przez tkz Nałogowiec (42,000 p.)
Na pewno jest gotowe rozwiązanie, ale nie widzę problemu by odczytać te dane i je sparsować. Napisanie takiego kodu zajmie Tobie z 30 minut, a będziesz miał szersze pole do zmian "w razie w".
komentarz 24 lipca 2020 przez kubekszklany Gaduła (3,170 p.)

Dobra, znalazłem rozwiązanie. Wystarczy wpisać te komendy (jako komendy terminalowe) w cpp:

date +"%H:%M:%S"
date +"%d-%m-%y"
free -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }'
df -h | awk '$NF=="/"{printf "Disk Usage: %d/%dGB (%s)\n", $3,$2,$5}'
top -bn1 | grep load | awk '{printf "CPU Load: %.2f\n", $(NF-2)}'
hostname && hostname -i

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 449 wizyt
pytanie zadane 29 listopada 2015 w C i C++ przez zmiennoimienny Mądrala (5,540 p.)
+1 głos
1 odpowiedź 346 wizyt
0 głosów
0 odpowiedzi 136 wizyt

92,452 zapytań

141,262 odpowiedzi

319,079 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...