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

Biblioteka python do odczytywania danych o aplikacjach

VPS Starter Arubacloud
+1 głos
219 wizyt
pytanie zadane 13 października 2021 w Python przez NaKileP Nowicjusz (130 p.)
otagowane ponownie 13 października 2021 przez NaKileP
Cześć, mam pytanie.

Czy istnieje biblioteka dzięki której mógłbym sprawdzić jak długo działa dana aplikacja na komputerze?

Lub jeśli nie to jak można by było to zrobić?

Robię projekt do szkoły, będzie to asystent komputerowy. Chciałbym zbierać statystyki użytkowania danych aplikacji jakie były uruchomione w dany dzień, godzinę i jak długo. Używałem dotąd biblioteki psutil ale dowiedziałem się niedawno o bibliotece subproces. Która jest lepsza?

Z góry dziękuję za odpowiedź
komentarz 13 października 2021 przez adrian17 Ekspert (344,100 p.)

Używałem dotąd biblioteki psutil ale dowiedziałem się niedawno o bibliotece subproces

AFAIK z `subprocess` nie da się wyciągnąć takich informacji o procesie, a z `psutil` tak. Mają one dość różne zastosowania.

komentarz 13 października 2021 przez NaKileP Nowicjusz (130 p.)
Wiesz jak można wyciągnąć informację o tym jak długo jest włączona jakaś aplikacja?
komentarz 13 października 2021 przez adrian17 Ekspert (344,100 p.)
No tak, sam wspomniałeś że używasz psutil - masz do tego metodę klasy Process `create_time()`.
komentarz 13 października 2021 przez NaKileP Nowicjusz (130 p.)
Tak, nie wiedziałem że jest taka metoda. Dziękuję bardzo, zaraz spróbuję coś z tym zrobić.
komentarz 14 października 2021 przez NaKileP Nowicjusz (130 p.)

@adrian17,  Witam ponownie mam jeszcze jedno pytanie.
Jak działa 'create_time()' , nie za bardzo to rozumiem, mógłbym sprawdzić jak długo działa dany program za pomocom jego nazwy? Mógłbyś pokazać przykładowy kod dzięki któremu zrozumiem jak to działa?
Z góry dziękuje za odpowiedź   

1 odpowiedź

+1 głos
odpowiedź 14 października 2021 przez VBService Ekspert (251,210 p.)

Masz w opisach tych modułów:

subprocess

Moduł podprocesów umożliwia tworzenie nowych procesów, łączenie się z ich potokami wejścia/wyjścia/błędów i uzyskiwanie ich kodów powrotu. Ten moduł ma na celu zastąpienie kilku starszych modułów i funkcji:

os.system
os.spawn*

w skrócie subprocess umożliwia uruchomienie innej aplikacji z poziomu kodu python-a i "odebranie" przetworzonych danych z tej aplikacji do dalszego wykorzystania w kodzie.

 

 

Czy istnieje biblioteka dzięki której mógłbym sprawdzić jak długo działa dana aplikacja na komputerze?

zdecydowanie bardziej nadaje się do tego wspomniany przez Ciebie

psutil

psutil (python system i narzędzia procesów) to wieloplatformowa biblioteka do pobierania informacji o uruchomionych procesach i wykorzystaniu zasobów systemu (procesor, pamięć, dyski, sieć, czujniki) z poziomu kodu python-a . Przydaje się głównie do monitorowania systemu, profilowania, ograniczania zasobów procesowych oraz zarządzania uruchomionymi procesami.

komentarz 14 października 2021 przez VBService Ekspert (251,210 p.)
edycja 14 października 2021 przez VBService

Jak działa 'create_time()' , nie za bardzo to rozumiem, mógłbym sprawdzić jak długo działa dany program za pomocom jego nazwy? Mógłbyś pokazać przykładowy kod dzięki któremu zrozumiem jak to działa?

 

propozycja

import psutil
from datetime import datetime

def msToDateTime(ms):
    return datetime.fromtimestamp(ms).strftime("%Y-%m-%d %H:%M:%S")

def timeOfAction(ms):
    return (str(datetime.now() - datetime.fromtimestamp(ms)))[:-7]

for pu in psutil.process_iter(attrs=['name', 'status', 'username', 'create_time']):
    if pu.info['name'] == "explorer.exe":
        print(
              f"{pu.info['name']}\n"
              f"  status: {pu.info['status']}\n"
              f"  użytkownik: {pu.info['username']}\n"
              f"  czas uruchomienia: {msToDateTime(pu.info['create_time'])}\n"
              f"  czas działania: {timeOfAction(pu.info['create_time'])}\n"              
             )

 

 

Timedelta in Python ]

Podobne pytania

0 głosów
1 odpowiedź 563 wizyt
pytanie zadane 30 sierpnia 2020 w Python przez KumberTwo Dyskutant (8,270 p.)
0 głosów
2 odpowiedzi 3,908 wizyt
0 głosów
0 odpowiedzi 90 wizyt

92,453 zapytań

141,262 odpowiedzi

319,087 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!

...