Rafał Polak 12k2 lab8

background image

Systemy operacyjne

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.



2. 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 „&”.

Rafał Polak 12k2

Laboratorium Komputerowe nr.8

Generated by Foxit PDF Creator © Foxit Software

http://www.foxitsoftware.com For evaluation only.

background image

: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.

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.

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ń…


3. 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.

Generated by Foxit PDF Creator © Foxit Software

http://www.foxitsoftware.com For evaluation only.

background image

Generated by Foxit PDF Creator © Foxit Software

http://www.foxitsoftware.com For evaluation only.


Wyszukiwarka

Podobne podstrony:
Rafał Polak 12k2 lab8, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
Rafał Polak 12k2 lab8, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
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
Rafał Polak 12k2 lab2
Rafał Polak 12k2 lab10
Rafał Polak 12k2 lab9
Rafał Polak 12k2 lab12
Rafał Polak 12k2 lab4a
Rafał Polak 12k2 lab11
Rafał Polak 12k2 lab3
Rafał Polak 12k2 lab4b

więcej podobnych podstron