Comunicare între procese folosind semnale în Linux

Proiect
8/10 (1 vot)
Conține 1 fișier: doc
Pagini : 41 în total
Cuvinte : 8486
Mărime: 51.94KB (arhivat)
Publicat de: Aurica Anca Burcea
Puncte necesare: 8
Profesor îndrumător / Prezentat Profesorului: Marius Olteanu
Proiect comunicare intre procese prin semnale in Linux.

Cuprins

  1. 1. Ce reprezintă semnalele şi procesele?.pag3
  2. 2. Clasificarea semnalelor.pag3-8
  3. 3. Generarea semnalelor.pag8-9
  4. 4. Trimiterea semnalelor din linia de comandă.pag9
  5. 5. Trimiterea semnalelor folosind apeluri de sistem.pag10
  6. 6. Primirea unui semnal de către un proces.pag10
  7. 7. Aşteptarea unui semnal-primitivele pause şi sigsuspend.pag10-11
  8. 8. Coruperea semnalelor-primitivele signal şi sigaction.pag11-12
  9. 9. Blocarea semnalelor.pag12-14
  10. 10. Moduri de tratare ale semnalelor(programe).pag14-24
  11. Semnale folosite:
  12. SIGINT,SIGALRM,SIGQUIT,SIGUSR1,SIGUSR2,SIGTSTP,SIGILL,SIGHUP,SIGSTOP,SIGTERM
  13. 11. Utilitatea aplicaţiei.pag18
  14. 12. Bibliografie:

Extras din proiect

1. Ce reprezintă semnalele?

Semnalele- constituie sintetic o modalitate de exprimare a evenimentelor care apar asincron în sistem;

- constituie o avertizare pe care o primeşte un anumit proces

- reprezintă o întrerupere software a unui proces din fluxul de execuţie normal

- sistemul de operare foloseşte semnalele pentru a semnala procesului apariţia unor situaţii excepţionale

- orice semnal este asociat cu o clasă de evenimente; are o sursă şi este generat de o anumită cauză

- există si semnale folosite de alte procese pentru a întrerupe alte procese

Concluzie:- un semnal poate fi generat fie de către sistemul de operare fie de către un proces

Procesele- pot bloca,ignora,trata sau lăsa sistemul de operare să efectueze acţiunea implicită(este constituită de terminarea procesului) la primirea unui semnal

- pot genera semnale sau pot primi semnale

2. Clasificarea semnalelor

După cum am văzut, semnalele corespund în general unor acţiuni specifice. Procesul poate genera sau primi semnale.

De reţinut ar fi faptul că fiecare semnal are asociat un număr, iar fiecărui număr îi corespunde o constantă simbolică definită în bibliotecile sistemului de operare. Standarul POSIX defineşte câteva semnale care trebuie să existe în orice sistem UNIX. Mai jos sunt prezentate cele mai folosite semnale în funcţie de 3 criterii: denumirea semnalului, numărul asociat semnalului şi descrierea semnalului.

Denumire semnal Număr asociat Efectul semnalului

SIGHUP 1 Hangup- terminalul folosit de proces a fost închis(deconectarea terminalului)

SIGINT 2 Interrupt- întreruperea unui proces prin CTRL+C(întreruperea terminalului)

SIGQUIT 3 Quit- exprimă cererea de ieşire din program a utilizatorului(abandonarea unui proces prin CTRL-)

SIGILL 4 Illegal Instruction- instrucţiune ilegală

SIGTRAP 5 Trace Trap- deviere pentru trasare

SIGABRT 6 Abort- semnal de terminare anormală a procesului generat de abort

SIGEMT 7 Emulator Trap Instruction- execuţia instrucţiunii EMT

SIGFPE 8 Floating Point Exception- semnal generat de o eroare în virgulă mobilă

SIGKILL 9 Kill- semnal care are ca efect distrugerea imediată a procesului(terminare forţată)

SIGBUS 10 Bus Error- eroare de magistrală

SIGSEGV 11 Segmentation Fault- generat când un proces face o referinţă la o adresă de memorie invalidă

SIGSYS 12 Bad Argument to System Call- argument greşit la un apel de funcţie sistem

SIGPIPE 13 Broken Pipe- este generat atunci când s-a încercat scrierea într-un pipe care are descriptorul de la capătul de citire închis

SIGALRM 14 Timer Alarm- semnal generat în urma timer-ului poziţionat de alarm

SIGTERM 15 Terminate- reprezintă o cerere de terminare a procesului

SIGUSR1,SIGUSR2 16,17 User Defined 1,2- semnale a căror generare si tratare sunt lăsate în seama utilizatorului

SIGCONT 18 Continue- reprezintă continuarea unui proces oprit prin SIGSTOP

SIGSTOP 19 Stop- suspendă execuţia unui proces până când execuţia va fi reluată prin primirea unui semnal SIGCONT

SIGCLD 20 Death of child- semnal primit de părinte când un fiu s-a terminat

SIGPWR 21 Power Fail Restart- este generat la scăderea tensiunii

Dacă însă doriţi lista completă de semnale suportate de un sistem rulaţi în linia de comandă:

kill-l

Efect: vor fi afişate urmatoarele semnale:

1) SIGHUP; 2) SIGINT; 3) SIGQUIT; 4) SIGILL;

5) SIGTRAP; 6) SIGABRT; 7) SIGBUS; 8) SIGFPE;

9) SIGKILL; 10) SIGUSR1; 11) SIGSEGV; 12) SIGUSR2;

13) SIGPIPE; 14) SIGALRM; 15) SIGTERM; 16) SIGCHLD;

17) SIGCONT; 18) SIGSTOP; 19) SIGTSTP; 20) SIGTTIN;

21) SIGTTOU; 22) SIGURG; 23) SIGXCPU; 24) SIGXFSZ;

25) SIGVTALRM; 26) SIGPROF; 27) SIGWINCH; 28) SIGIO;

29)SIGPWR; 30) SIGSYS; 31) SIGRTMIN; 32)SIGRTMIN+1;

33) SIGRTMIN+2; 34) SIGRTMIN+3; 35) SIGRTMIN+4; 36) SIGRTMIN+5;

37) SIGRTMIN+6 38) SIGRTMIN+7 39) SIGRTMIN+8 40) SIGRTMIN+9;

41) SIGRTMIN+10; 42) SIGRTMIN+11; 43) SIGRTMIN+12; 44)SIGRTMIN+13; 45) SIGRTMIN+14; 46) SIGRTMIN+15; 47) SIGRTMAX-15; 48) SIGRTMAX-14; 49) SIGRTMAX-13; 50) SIGRTMAX-12;

51) SIGRTMAX-11; 52) SIGRTMAX-10; 53) SIGRTMAX-9;

54) SIGRTMAX-8; 55) SIGRTMAX-7; 56) SIGRTMAX-6; 57) SIGRTMAX-5; 58) SIGRTMAX-4; 59) SIGRTMAX-3; 60) SIGRTMAX-2; 61) SIGRTMAX-1; 62) SIGRTMAX

Preview document

Comunicare între procese folosind semnale în Linux - Pagina 1
Comunicare între procese folosind semnale în Linux - Pagina 2
Comunicare între procese folosind semnale în Linux - Pagina 3
Comunicare între procese folosind semnale în Linux - Pagina 4
Comunicare între procese folosind semnale în Linux - Pagina 5
Comunicare între procese folosind semnale în Linux - Pagina 6
Comunicare între procese folosind semnale în Linux - Pagina 7
Comunicare între procese folosind semnale în Linux - Pagina 8
Comunicare între procese folosind semnale în Linux - Pagina 9
Comunicare între procese folosind semnale în Linux - Pagina 10
Comunicare între procese folosind semnale în Linux - Pagina 11
Comunicare între procese folosind semnale în Linux - Pagina 12
Comunicare între procese folosind semnale în Linux - Pagina 13
Comunicare între procese folosind semnale în Linux - Pagina 14
Comunicare între procese folosind semnale în Linux - Pagina 15
Comunicare între procese folosind semnale în Linux - Pagina 16
Comunicare între procese folosind semnale în Linux - Pagina 17
Comunicare între procese folosind semnale în Linux - Pagina 18
Comunicare între procese folosind semnale în Linux - Pagina 19
Comunicare între procese folosind semnale în Linux - Pagina 20
Comunicare între procese folosind semnale în Linux - Pagina 21
Comunicare între procese folosind semnale în Linux - Pagina 22
Comunicare între procese folosind semnale în Linux - Pagina 23
Comunicare între procese folosind semnale în Linux - Pagina 24
Comunicare între procese folosind semnale în Linux - Pagina 25
Comunicare între procese folosind semnale în Linux - Pagina 26
Comunicare între procese folosind semnale în Linux - Pagina 27
Comunicare între procese folosind semnale în Linux - Pagina 28
Comunicare între procese folosind semnale în Linux - Pagina 29
Comunicare între procese folosind semnale în Linux - Pagina 30
Comunicare între procese folosind semnale în Linux - Pagina 31
Comunicare între procese folosind semnale în Linux - Pagina 32
Comunicare între procese folosind semnale în Linux - Pagina 33
Comunicare între procese folosind semnale în Linux - Pagina 34
Comunicare între procese folosind semnale în Linux - Pagina 35
Comunicare între procese folosind semnale în Linux - Pagina 36
Comunicare între procese folosind semnale în Linux - Pagina 37
Comunicare între procese folosind semnale în Linux - Pagina 38
Comunicare între procese folosind semnale în Linux - Pagina 39
Comunicare între procese folosind semnale în Linux - Pagina 40
Comunicare între procese folosind semnale în Linux - Pagina 41

Conținut arhivă zip

  • Comunicare intre Procese Folosind Semnale in Linux.doc

Te-ar putea interesa și

Detectarea și afișarea componentelor hardware și software ale sistemului

Conţinut 1.CE ESTE LINUX? Linux este un sistem de operare derivat din sistemul UNIX,acesta din urmã având la bazã un kernel. Kernelul sistemului...

Ai nevoie de altceva?