Procesy

Transkrypt

Procesy
Procesy
Proces - wykonuja˛cy sie˛ program. Każdy proces otrzymuje swój
numer - PID.
(PPID - numer procesu rodzicielskiego)
Lista procesów:
ps [-e] [-l] [-t terminal] [-u UID]
Przykład:
$ ps
PID
TTY
2412
tty02
2423
tty02
TIME
11:02
11:07
COMMAND
ksh
ps
Sygnał - zdarzenie w systemie, wykrywane przez proces i moga˛ce
wpłyna˛ć na przebieg procesu. Sygnały moga˛ pochodzić od:
- sprze˛tu i systemu operacyjnego (np. sygnalizacja błe˛dów
sprze˛towych i programowych)
- innego procesu
- użytkownika
Ważniejsze sygnały:
0
1
2
8
•9
10
12
•15
EXIT
HUP
INT
FPE
KILL
BUS
SYS
TERM
wyjście z powłoki
zawieszenie (hangup)
przerwanie (interrupt)
bła˛d zmiennoprzecinkowy (FP exception)
zabicie procesu
bła˛d magistrali
zły argument funkcji systemowej
zakończenie programowe
Po otrzymaniu sygnału proces zazwyczaj kończy działanie (chyba, że
przechwytuje lub ignoruje przerwanie)
Niektóre sygnały powoduja˛ dodatkowo utworzenie pliku core.
Wysłanie sygnału do procesu:
kill [-sygnał] PID
Przykłady:
kill
kill
kill
kill
-9 2314
-SIGKILL 2314
2314
-TERM 2314
(sygnał KILL nie może
zostać przechwycony)
(sygnał TERM może zostać
przechwycony)
Określenie reakcji powłoki na sygnał
trap [akcja] [sygnał ...]
Przykłady
trap "echo Sygnal nr 2" SIGINT
trap ’rm /tmp/xxxx ; exit’ 15
trap "$HOME/.logout" EXIT
Zadanie (job) powstaje w chwili rozpocze˛ cia wykonywania komendy
lub potoku. Zadaniu przyporza˛ dkowywany jest numer zadania (mała
liczba całkowita).
Lista zadań
jobs
Przykłady:
jobs
[1] + Running
[2] - Done
lp results
compile_big_prog&
Uruchomienie zadania w tle:
komenda ... &
lub
Ctrl-Z
(zawieszenie zadania)
bg
(wznowienie zadania w tle)
(powłoka w obu przypadkach poda numer zadania i numer procesu)
Przeniesienie zadania z tła na pierwszy plan:
fg %nr_zadania
Zabicie zadania
kill %nr_zadania
Uzupełnienia
•
•
•
Użytkownik może narzucić ograniczenie na wielkość zapisanego
obszaru na dysku dla procesów potomnych (ulimit)
Zadania wykonywane sa˛ likwidowane w chwili zakończenia
pracy powłoki macierzystej.
Użytkownik może wydać polecenie kontynuowania zadania po
komendzie logout uruchamiaja˛ c je po komendzie
nohup komenda [argumenty]
Urza˛ dzenia
W systemie UNIX urza˛ dzenia sa˛ doste˛ pne jako pliki specjalne.
Odwołanie do pliku specjalnego jest odsyłane do driver’a urza˛ dzenia
(programu steruja˛ cego urza˛ dzeniem).
Rodzaje urza˛ dzeń:
• znakowe, niebuforowane - doste˛ p w sposób szeregowy, np.
terminal, drukarka, nape˛ d taśmowy
• blokowe, buforowane - doste˛ p swobodny, np. dysk
Z jednym urza˛ dzeniem fizycznym może być zwia˛ zanych kilka plików
specjalnych - pozwala to na doste˛ p do urza˛ dzenia na różne sposoby:
blokowy i znakowy (raw).
Pliki specjalne reprezentuja˛ ce urza˛ dzenia umieszczane sa˛ w
podkatalogu /dev (lub jego podkatalogach), np.
/dev/console
/dev/tty01
/dev/tty
/dev/lp
/dev/null
/dev/mem
/dev/swap
/dev/rmt0a
/dev/fd0
/dev/rdsk/0s0
i-we˛ zeł pliku specjalnego zawiera informacje˛ o:
• rodzaju urza˛ dzenia (blokowe, znakowe)
• numerach: głównym (major) i podrze˛ dnym (minor) urza˛ dzenia
Nr główny: określa driver urza˛ dzenia
Nr podrze˛ dny: może określać: nr urza˛ dzenia (gdy jest ich kilka),
parametr urza˛ dzenia (np. rodzaj dyskietki, ge˛ stość zapisu taśmy)
Cze˛ sto nr podrze˛ dny jest zakodowany w nazwie pliku
specjalnego i niesie dodatkowa˛ informacje˛ o urza˛ dzeniu, np.
/dev/dsk/f05h
(dyskietka 5 " 1.2MB, nape˛ d A:)
/dev/dsk/f13ht
(dyskietka 3 " 1.44MB, nape˛ d B:)
/dev/dsk/f13d
(dyskietka 3 " 720KB, nape˛ d B:)
/dev/dsk/f0
(dyskietka A:)
Przykład:
cd /dev/rdsk
crw-r----- 2
cd /dev/dsk
brw-r----- 2
; ls
root ... 47,0x201600 ... c201d0s0
; ls
root ... 7,0x201000 ... c201d0s0
Uzupełnienia
1.
Urza˛ dzenie blokowe powinno zostać sformatowane (komendy
formatowania sa˛ zależne od implementacji systemu UNIX, np.
format, fdformat)
2.
Na urza˛ dzeniach typu pamie˛ ci masowych należy dodatkowo:
• utworzyć system plików (np. komenda˛
/etc/mkfs /dev/pl_specj parametry ...
• zamontować ten system plików komenda˛ :
/etc/mount /dev/pl_specj /katalog
3.
System plików na nośniku wymiennym (dyskietka, kaseta z
taśma˛ ) winien zostać przed wyje˛ ciem z nape˛ du zdemontowany:
/etc/umount /dev/pl_specj
(inaczej nie da sie˛ go powtórnie zamontować bez czasochłonnego
sprawdzenia spójności programem fsck)

Podobne dokumenty