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