Czy istnieje sposób na uzyskanie statusu systemu w python, na przykład ilość wolnej pamięci, procesy, które są uruchomione, obciążenie procesora i tak dalej. Wiem na linuksie, że mogę to uzyskać z katalogu/proc, ale chciałbym to zrobić również w systemach UNIX i Windows.Uzyskiwanie statusu systemu w pythonie
Odpowiedz
ja nie znam takiej biblioteki/opakowanie który obecnie obsługuje zarówno system Linux, jak i Windows. Jest libstatgrab, który nie wydaje się być bardzo aktywnie rozwijany (obsługuje już przyzwoitą różnorodność platform uniksowych) i bardzo aktywny PSI (Python System Information), który działa w systemach AIX, Linux, SunOS i Darwin. Oba projekty mają na celu wsparcie Windows w przyszłości. Powodzenia.
nie sądzę jest wieloplatformowa biblioteka do tego jeszcze (tam na pewno powinno być jednym chociaż)
Mogę jednak zapewnić Państwu jednym fragmencie użyłem, aby uzyskać bieżące obciążenie procesora z /proc/stat
pod Linux:
Edit: otrzymuje straszne kodu nieudokumentowane z nieco bardziej pythonic i udokumentowanego kodu
import time
INTERVAL = 0.1
def getTimeList():
"""
Fetches a list of time units the cpu has spent in various modes
Detailed explanation at http://www.linuxhowtos.org/System/procstat.htm
"""
cpuStats = file("/proc/stat", "r").readline()
columns = cpuStats.replace("cpu", "").split(" ")
return map(int, filter(None, columns))
def deltaTime(interval):
"""
Returns the difference of the cpu statistics returned by getTimeList
that occurred in the given time delta
"""
timeList1 = getTimeList()
time.sleep(interval)
timeList2 = getTimeList()
return [(t2-t1) for t1, t2 in zip(timeList1, timeList2)]
def getCpuLoad():
"""
Returns the cpu load as a value from the interval [0.0, 1.0]
"""
dt = list(deltaTime(INTERVAL))
idle_time = float(dt[3])
total_time = sum(dt)
load = 1-(idle_time/total_time)
return load
while True:
print "CPU usage=%.2f%%" % (getCpuLoad()*100.0)
time.sleep(0.1)
[os.getloadavg()] (http://docs.python.org /library/os.html#os.getloadavg) –
https://pypi.python.org/pypi/psutil
import psutil
psutil.get_pid_list()
psutil.virtual_memory()
psutil.cpu_times()
itp
- 1. Strona statusu systemu Google BigQuery?
- 2. Uzyskiwanie statusu "zablokowanego konta" w SQL Server
- 3. Uzyskiwanie kodu statusu HTTP z odpowiedzi SOAP
- 4. Uzyskiwanie informacji procesor w Pythonie
- 5. Uzyskiwanie kodu statusu wyjścia z polecenia "ftp" w powłoce linux
- 6. Uzyskiwanie mniejszych n elementów listy w Pythonie
- 7. Uzyskiwanie hasła do wiersza poleceń w Pythonie
- 8. Uzyskiwanie pełnej ścieżki do usługi systemu Windows
- 9. Uzyskiwanie rozmiaru terminala wc dla systemu Windows?
- 10. Używanie separatora w pasku statusu
- 11. Programowe uzyskiwanie czasu uruchamiania systemu w języku C++ (Windows)
- 12. Uzyskiwanie tablicy jako parametrów zapytania GET w Pythonie
- 13. Parsowanie pliku YAML w Pythonie i uzyskiwanie dostępu do danych?
- 14. Uzyskiwanie wartości domyślnej dla indeksu poza zakresem w Pythonie
- 15. Python/RQ - monitorowanie statusu pracownika
- 16. Jak mogę złapać zdarzenie zawieszenia systemu w Pythonie?
- 17. Jak sprawdzić, czy używam systemu Windows w Pythonie?
- 18. jQuery otrzymania statusu checkbox
- 19. Pasek statusu UISplitViewController iOS7
- 20. Możliwe wartości statusu płatności
- 21. Uzyskiwanie i pułapkowanie odpowiedzi HTTP przy użyciu mechanizmu w języku Python
- 22. OSX: jak "odkryć" element paska statusu?
- 23. Uzyskiwanie dostępu do rejestru systemu Windows przy użyciu .NET?
- 24. Uzyskiwanie ścieżki do systemu plików klasy, która jest wykonywana
- 25. Uzyskiwanie Http Numer kodu statusu (200, 301, 404 itd.) Z HttpWebRequest i HttpWebResponse
- 26. Łapanie wszystkich wyjątków w Pythonie
- 27. uzyskiwanie dostępu do systemu plików kontenera dokera przez terminal
- 28. Ustawianie kodu statusu HTTP w butelce?
- 29. iOS w App zakupu statusu 21002, java.lang.NumberFormatException
- 30. Jak usunąć określony typ statusu w JIRA
Duplikat z tych pytań: http://stackoverflow.com/questions/276052/how-to-get-current-cpu-and-ram-usage- w-python http://stackoverflow.com/questions/466684/how-can-i-return-system-information-in-python/467291 –