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

Entradas relacionadas: