Guia Completa de Gestió de Processos i Senyals en Linux
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
catalán con un tamaño de 3,77 KB
Atributs i Identificadors del Procés
- Process ID (PID): Cada procés té un número enter únic associat que se li assigna quan es crea. Els PIDs són únics per a tots els processos del sistema.
- Parent Process ID (PPID): Cada procés té un pare assignat. Aquest pare també té un ID.
- User ID & Group ID: Cada procés ha de tenir associats uns privilegis que limiten l’accés al sistema de fitxers.
- Entorn (Environment): Cada procés manté una llista de variables i els seus corresponents valors. El conjunt de les variables rep el nom d'entorn del procés.
- Directori de Treball Actual (Current Working Directory): Cada procés té associat un directori per defecte sobre el qual treballa.
Procés Pare i el Procés Init
Cada procés és creat per un altre; aquest altre s'anomena procés pare. El primer procés iniciat pel kernel quan el sistema arrenca s’anomena init. El seu PID és 1.
Comandes de Monitorització de Processos
- ps [opcions]: Ens mostra un llistat dels processos del sistema.
- pstree [opcions] [PID | user]: Mostra la jerarquia dels processos mitjançant una estructura d’arbre.
- top [opcions]: Mostra una llista semblant a la comanda
ps, però el resultat es va actualitzant de manera contínua.
Gestió de Tasques i Segon Pla
Un procés s'executa en segon pla si no bloqueja el terminal. Exemple: $ firefox &
Quan llancem un procés en segon pla, obtenim un PID i un número de treball.
Comanda jobs
La comanda jobs [opcions] [jobspec] llista totes les tasques actives:
$ jobs
Senyals de Procés (Signals)
Els senyals permeten controlar l'execució dels processos:
- SIGHUP [1]: Penjar (Hang up).
- SIGINT [2]: Atura el procés i desapareix (CTRL + C).
- SIGKILL [9]: Mata un procés incondicionalment i immediatament.
- SIGTERM [15]: Acabar. Mata un procés de manera controlada.
- SIGCONT [18]: Continuar. Pot reprendre l'execució.
- SIGSTOP [19]: Atura el procés (CTRL + Z).
Estats del Cicle de Vida del Procés
- Nou: El procés s'està creant.
- Preparat: El procés està a la cua, preparat per entrar al processador.
- En execució: Les instruccions del procés estan sent executades pel processador.
- Bloquejat: El procés està aturat en espera d'un esdeveniment que el desbloquegi (p. ex., finalització d'una entrada/sortida).
- Finalitzat: El procés ha finalitzat i s'alliberen els recursos.
Procés Zombi
Variant de l'estat finalitzat. És un procés que ja no fa servir la CPU, però ha de mantenir en memòria certa informació d'utilitat per al seu procés pare.
Prioritat dels Processos
- Prioritat estàtica: És un tipus de prioritat que no es pot modificar mentre s'executa el procés.
- Prioritat dinàmica: És un tipus de prioritat que es pot modificar en funció de determinats esdeveniments.
Comandes per Assignar i Canviar la Prioritat
La comanda nice permet arrencar un procés assignant-li d'entrada una determinada prioritat:
$ nice -n 19 987
La comanda renice permet canviar la prioritat d'un procés ja engegat:
$ renice -n -5 987 -u root