Skrypt zrzucający informacje o procesach do pliku

Podczas testowania aplikacji przydają się niekiedy informacje o ilości zajmowanej przez nią pamięci RAM. Najlepiej jeszcze, jakby co chwilę ta informacja była podawana. Jednak ciągle spoglądanie na menedżer zadań odrywa uwagę od konkretnego zadania, czyli testowania aplikacji. Pokażę Wam skrypt, przy pomocy którego jest możliwe zrzucanie do pliku informacji o zajętości pamięci RAM przez dany proces. Zapraszam do testowania.

Spis treści:

Omówienie budowy i działania skryptu

Jak wyglądają pliki

Dodajemy skrypt do harmonogramu zadań

Omówienie budowy i działania skryptu

Dla swoich testów napisałem bardzo prosty skrypt, który wygląda tak:

@echo off
time /t >> C:\Users\morfeusz888\Desktop\test.txt
tasklist | find "cmd.exe" >> C:\Users\morfeusz888\Desktop\test.txt
echo ------------------------------------------ >> C:\Users\morfeusz888\Desktop\test.txt
echo ------------------------------------------ >> C:\Users\morfeusz888\Desktop\test.txt

I jedziemy po kolei:

@echo off

Wyłącza wyświetlanie systemowych komunikatów podczas wykonywania skryptu, takich jak time, echo, tasklist.

time /t

Pokazuje aktualny czas systemowy w formacie 16:53 (godzina:minuta)

>>

Przekierowanie strumienia. Informacje, które zostaną wyświetlone przy pomocy polecenia time /t powędrują dzięki przekierowaniu do odpowiedniej lokalizacji, którą jest C:\Users\morfeusz888\Desktop\test.txt i zostaną zapisane w pliku o nazwie test.txt.

tasklist | find "cmd.exe"

Na początku wyjaśnimy co znaczy tasklist. Tasklist wyświetla wszystkie uruchomione procesy wraz z takimi informacjami jak użycie procesora, pamięci ram itd.

skrypt_do_pliku_001

|

Informuje system, że należy wykonać polecenie tasklist i przy okazji drugie polecenie, które stoi po |.

find "cmd.exe"

Polecenie tasklist wyrzuca wszystkie uruchomione procesy. My wszystkich procesów nie chcemy, tylko jeden, konkretny. Przy pomocy polecenia find jesteśmy wstanie wy filtrować odpowiednio wyniki. Powyższe polecenie find "cmd.exe" wyszukuje frazy cmd.exe i jeżeli znajdzie, to zrzuca o tym procesie informacje do pliku. cmd.exe jest podany jako przykład i możemy tutaj wpisać dowolny, inny proces.

echo ------------------------------------------

To polecenie rusyję przerywaną linię w celu oddzielenia jednego zrzutu od drugiego.

Przed uruchomieniem skryptu musimy pamiętać, aby odpowiednio zmodyfikować ścieżki oraz nazwę procesu.

 

Powrót do spisu treści

 

Jak wyglądają wyniki

Jak wygląda plik tworzony przez ten proces? Tak:

20:26
cmd.exe                       4040 Console                    1     2˙752 KB
cmd.exe                       2764 Console                    1     2˙604 KB
------------------------------------------
------------------------------------------
20:52
cmd.exe                       4040 Console                    1     2˙524 KB
cmd.exe                       2872 Console                    1     2˙444 KB
------------------------------------------
------------------------------------------

Na samej górze widzimy godzinę. Pod godziną mamy wypisane procesy, które są zgodne z wpisaną w kodzie frazą. Przy nich mamy kilka wartości liczbowych, a nas interesuje ta ostatnia. To ona informuje nas, ile pamięci RAM zajmuje dany proces.

 

Powrót do spisu treści

 

Dodajmy skrypt do harmonogramu zadań

Mamy skrypt. Teraz tylko musimy go dodać do harmonogramu zadań, aby uruchamiał się w odpowiednich odstępach.

Wchodzimy do Panelu sterowania, zmieniamy wygląd na duże ikony i wybieramy narzędzia administracyjne.

skrypt_do_pliku_2

W kolejnym oknie klikamy dwukrotnie na Harmonogram zadań.

skrypt_do_pliku_3

Po prawej stronie klikamy na Utwórz zadanie:

skrypt_do_pliku_4

W pierwszej zakładce ogólne w polu Nazwa wpisujemy nazwę, pod jaką będzie widnieć utworzone przez nas zadanie.

skrypt_do_pliku_5

W zakładce wyzwalacze klikamy na przycisk nowy:

skrypt_do_pliku_6

W nowo otwartym oknie wszystko ustawiamy tak jak na poniższym screenie:

skrypt_do_pliku_7

Jeżeli chcemy wybrać inny czas niż 10 minut, to oczywiście nic nie stoi na przeszkodzie. Klikamy na ok, aby zatwierdzić zmiany.

Klikamy na zakładkę Akcja a następnie na przycisk Nowa:

skrypt_do_pliku_8

W nowym oknie z menu Akcja wybieramy Uruchom program i przy pomocy przycisku przeglądaj wskazujemy ścieżkę do naszego skryptu.

skrypt_do_pliku_9

Przyciskiem OK zatwierdzamy zmiany.

Ostatnie dwie zakładki, czyli Warunki i ustawienia nie zawierają aż tak istotnych dla nas opcji, więc możemy je pominąć. Aby zakończyć tworzenie zadania, klikamy na przycisk ok.

Nowo utworzone zadanie pojawi się na liście:

skrypt_do_pliku_10

Rubryka czas następnego uruchomienia informuje nas, o której godzinie skrypt zostanie ponownie uruchomiony.

skrypt_do_pliku_12

Gdy skrypt będzie się wykonywał, na chwile pokaże nam sie okno cmd i po chwili zniknie. To znaczy, że skrypt został wykonany. Nie próbujmy zamykać tego okna przy pomocy X i skrótu klawiszowego Alt+F4, ponieważ wtedy przerwiemy jego działanie. Oto, co znajduje się w pliku wynikowym:

21:14
cmd.exe                       4040 Console                    1     2˙472 KB
cmd.exe                       2316 Console                    1     2˙448 KB
------------------------------------------
------------------------------------------
21:24
cmd.exe                       4040 Console                    1     2˙464 KB
cmd.exe                       3068 Console                    1     2˙448 KB
------------------------------------------
------------------------------------------
21:34
cmd.exe                       4040 Console                    1     2˙464 KB
cmd.exe                       3100 Console                    1     2˙452 KB
------------------------------------------
------------------------------------------

Jak widzimy, skrypt wykonuje się co 10 minut, tak jak ustawiliśmy.
Może ten sposób nie jest profesjonalny, ale jak dla mnie wystarcza. Potem takie zestawienie ładuje do Calca, robię wykresiki itd itp. Może kiedyś przyjdzie czas, że napiszę pełnoprawną aplikację ;).

 

Powrót do spisu treści