Controlul proceselor
Pagina principala | Curs | Laborator | Proiect |
<< Redirectari | Exercitii >> |
Fiecare utilizator poate vedea lista proceselor pe care le executa la un moment dat, cu ajutorul comenzii ps. Detalii despre informatiile indicate aflati din pagina de manual. Pentru a vedea toate procesele rulate de sistemul de operare se da comanda:
ps -uax
Cand un proces nu mai raspunde la comenzi poate fi terminat de utilizator cu comanda kill. Sa luam urmatorul exemplu:
- utilizatorul s-a conectat la server si dupa ce a lucrat un timp terminalul se poate bloca. Pentru a omora procesul se mai conecteaza inca o data si cu comanda ps -x afiseaza procesele, ca mai jos:
PID
|
TTY
|
STAT
|
TIME
|
COMMAND
|
7800
|
pts/0
|
S
|
0:00
|
-bash
|
7829
|
pts/1
|
S
|
0:00
|
-bash
|
7904
|
pts/2
|
R
|
0:00
|
ps -x
|
Fiecare proces are un numar de identificare unic, indicat prin PID (Process Identifier). Pentru a "omora" un proces se da comada:
kill -9 PID
unde PID se inlocuieste cu numarul de identificare
al procesului pe care vrem sa-l terminam.
In exemplul dat mai sus primul terminal are PID-ul 7800, iar al doilea 7829.
Deci pentru terminarea primului terminal se da comada: kill -9 7800.
Ca urmare trebuie sa se inchida prima fereastra de terminal pe care ati deschis-o.
Rulare in fundal (background)
In momentul in care rulati un proces, shell-ul nu
va afisa linia de comanda pana cand nu se termina acel proces. Cu alte cuvinte
pana cand nu se termina procesul nu puteti incepe rularea altui proces. Este
posibila rularea unui proces in fundal (background), astfel incat dupa
pornirea procesului shell-ul va afisa din nou linia de comanda pentru ca utilizatorul
sa poate rula alte procese.
Deoarece este un SO multitasking in momentul in care procesul este pus in background,
utilizatorul poate rula alt proces in acelasi terminal. La terminarea procesului
pus in background shell-ul anunta utilizatorul printr-un mesaj, scris la terminal.
Pornirea unui proces in background se poate face prin atasarea la sfarsitul
comenzii a semnului &.
Un proces poate fi oprit temporar cu combinatia
CTRL+Z. Acesta este un proces oprit. Daca incercati sa inchideti
terminalul si aveti un proces oprit, shell-ul va anunta cu mesajul "There
are stopped jobs". Un proces oprit poate fi omorat sau readus in rulare.
Readucerea in rulare se face cu comanda fg. Sau se poate pune in rulare
dar in background cu comanda bg.
<< Redirectari | Exercitii >> |