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

Informacje Systemowe - Biblioteka C++

Aruba Cloud - Virtual Private Server VPS
0 głosów
380 wizyt
pytanie zadane 23 lipca 2020 w C i C++ przez kubekszklany Gaduła (3,250 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,020 p.)
Zdjęcie, szukasz na linuxa, AVR, ARM'a? Trochę mylący opis.
komentarz 23 lipca 2020 przez kubekszklany Gaduła (3,250 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,020 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,250 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,020 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,250 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,340 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,250 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,020 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,250 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 509 wizyt
pytanie zadane 29 listopada 2015 w C i C++ przez zmiennoimienny Mądrala (5,540 p.)
+1 głos
1 odpowiedź 563 wizyt
0 głosów
0 odpowiedzi 313 wizyt

93,324 zapytań

142,323 odpowiedzi

322,390 komentarzy

62,653 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...