Rafał Polak 12k2 lab8, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Sprawozdania


Systemy operacyjne

Rafał Polak 12k2

Laboratorium Komputerowe nr.8

TEMAT: Środowisko Linux - Procesy w systemie Unix

Celem ćwiczenia będzie zapoznanie się z podstawowymi informacjami dotyczącymi procesów w systemie Unix. System ten pozwala na wykonywanie wiele procesów jednocześnie, jest to jednak pozorne, gdyż w danym momencie wykonuje się tylko jeden co pare milisekund. Wszystkie procesy posiadają swojego rodzica, z których się wywodzą, po za jednym wyjątkiem, procesem init uruchamianym wraz ze startem systemu. Posiadają one swoje numery identyfikacyjne oraz numery swoich przodków.

  1. WYŚWIETLANIE PROCESÓW

Aby zobaczyć istniejące procesy w systemie, które aktualnie pracują służy polecenie ps. Do wyświetlenia pełnej listy procesów oraz do podziału na strony wyświetlania należy dopisać parametry -ef | more.

Ps -ef | more

W kolumnach dostaniemy informacje oznaczone skrótami tj.:

- UID numer użytkownika ( właściciela procesu)

- PID numer identyfikacyjny procesu

- PPID numer PID rodzica danego procesu

- C miara obciążenia procesora

- STIME czas rozpoczęcia działania procesu

- TTY nazwa terminala związanego z procesem

- TIME czas wykorzystania procesora

- CMD komenda, która wywołała proces

W systemie procesy mają wielu różnych właścicieli. Chcąc zobaczyć procesy tylko jednego właściciela wpisujemy polecenie ps -fu nazwa_użytkownika. Na poniższym zrzucie ekranu widać w jaki sposób są dane wyświetlane. Jest to tylko niewielka część procesów istniejących w systemie.

0x01 graphic

  1. ZADANIA w SYSTEMIE

Obok pojęcia procesu, kolejnym ważnym pojęciem w systemie unix jest zadanie (ang. job). Zadanie jest to proces, który został uruchomiony przez wywołanie komendy z danego terminala. Podczas uruchamiania zadania, aktywne zadanie, w tym przypadku nasz terminal przechodzi do działania w tle. Zadania możemy uruchamiać tak aby działały w tle oraz je usypiać ( inaczej zatrzymywać ) i wyłączać ( zabijać ). Do uruchomienia procesu w tle wykorzystujemy symbol „&”.

:nano & - edytor nano uruchomiony w tle

CTRL+Z - uśpienie działającego procesu

Uruchamiamy w tle kilka programów. Aby zobaczyć wszystkie istniejące zadania w systemie wpisujemy w wierszu poleceń jobs.

0x01 graphic

Programy uruchamiane w tle zostają automatyczne zastopowane. Możemy je wywołać na główne okno, czyli przejść do programu poleceniem

Fg %numer_zadania - tzw. foreground

// uruchamiane w tle to background.

Programy w tle często powinny wykonywać jakieś działania, dla naszego oka niewidoczne. Aby sprawdzić czy taka możliwość istnieje wywołamy zadanie, które wykonywać się będzie w tle a swoje wyniki działania zapisuje do pliku. Dla porównania zostanie ten sam skrypt uruchomiony w tle oraz w sposób tradycyjny.

0x01 graphic

Po uruchomieniu skryptu dwa wcześniej uruchomione zadania są zastopowane, natomiast skrypt data jest w trakcie pracy. Zapisuje on aktualną datę w pliku z odstępem 30 sekund dokładnie dwa razy. Natomiast gdy uruchomi się ten sam skrypt w tradycyjny sposób zostaniemy pozbawieni na 30 sekund dostępu do normalnej pracy na konsoli. A więc co jeżeli chcemy przerwać działanie takiego skryptu na rzecz ważniejszych działań…

  1. ZABIJANIE PROCESÓW I ZADAŃ

Do zmiany stanu zadania lub procesu służy polecenie kill. Ma ono wiele wariantów. Aby

zatrzymać (zawiesić) zadanie używamy polecenia kill -STOP z numerem zadania

poprzedzonym znakiem "%". Aby zatrzymać zadanie:

kill -STOP %numer

Jeżeli chcemy wyłączyć, zakończyć zadanie w systemie używamy polecenia:

kill -9 %numer

Do zakańczania procesów w systemie wykorzystujemy ten sam sposób, jednakże podajemy numer identyfikacyjny procesu PID i nie poprzedzamy znakiem procentu. Jeżeli zabijemy proces, który posiadał dzieci, czyli był rodzicem dla innych procesów, procesy te także bezwarunkowo zostaną zakończone.

0x01 graphic



Wyszukiwarka

Podobne podstrony:
Rafał Polak 12k2 lab9, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
Rafał Polak 12k2 lab4a, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Sp
Rafał Polak 12k2 lab4b, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Sp
Rafał Polak 12k2 lab11, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Sp
Rafał Polak 12k2 lab2, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
Rafał Polak 12k2 lab3, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
Rafał Polak 12k2 lab10, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Sp
Rafał Polak 12k2 lab6, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
Rafał Polak 12k2 lab5, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
Wymagania metody, Inżynieria Oprogramowania - Informatyka, Semestr IV, Metody Obliczeniowe, Egzamin
Rzeczywistość wirtualna, Inżynieria Oprogramowania - Informatyka, Semestr V, Komunikacja Człowiek Ko
tematy 2011 DK v1.03, Inżynieria Oprogramowania - Informatyka, Semestr IV, Zarządzanie Projektami In
Rafał Polak 12k2 lab8
z1 SO na 28.05.11 w2 ze skryptami, Informatyka, SEMESTR IV, Systemu Operacujne

więcej podobnych podstron