En aquest tema, aprendrem a gestionar processos en un sistema Linux. La gestió de processos és una habilitat essencial per a qualsevol administrador de sistemes, ja que permet controlar i optimitzar l'ús dels recursos del sistema.

Conceptes Clau

  1. Procés: Un programa en execució.
  2. PID (Process ID): Identificador únic d'un procés.
  3. PPID (Parent Process ID): Identificador del procés pare.
  4. Estat del procés: Pot ser en execució, en espera, aturat, etc.
  5. Prioritat del procés: Determina l'ordre d'execució dels processos.

Comandes Bàsiques per a la Gestió de Processos

  1. ps

La comanda ps mostra una llista dels processos en execució.

ps aux
  • a: Mostra processos de tots els usuaris.
  • u: Mostra informació detallada dels processos.
  • x: Inclou processos que no tenen un terminal associat.

  1. top

La comanda top proporciona una vista en temps real dels processos en execució.

top
  • h: Mostra l'ajuda.
  • k: Permet matar un procés.
  • r: Permet canviar la prioritat d'un procés.

  1. htop

htop és una versió millorada de top amb una interfície més amigable.

htop

  1. kill

La comanda kill s'utilitza per enviar senyals a un procés, normalment per acabar-lo.

kill <PID>
  • -9: Envia el senyal SIGKILL per forçar l'acabament del procés.

  1. pkill

pkill permet matar processos basant-se en el nom del procés.

pkill <nom_del_proces>

  1. nice i renice

nice s'utilitza per establir la prioritat d'un procés en el moment de la seva execució.

nice -n <prioritat> <comanda>

renice canvia la prioritat d'un procés en execució.

renice <prioritat> -p <PID>

Exemples Pràctics

Exemple 1: Llistar Processos

ps aux | grep apache2

Aquest exemple llista tots els processos relacionats amb apache2.

Exemple 2: Matar un Procés

kill -9 1234

Aquest exemple mata el procés amb PID 1234.

Exemple 3: Canviar la Prioritat d'un Procés

renice 10 -p 1234

Aquest exemple canvia la prioritat del procés amb PID 1234 a 10.

Exercicis Pràctics

Exercici 1: Llistar Processos

  1. Utilitza la comanda ps per llistar tots els processos en execució.
  2. Filtra els processos per nom utilitzant grep.

Exercici 2: Matar un Procés

  1. Identifica un procés en execució amb ps o top.
  2. Mata el procés utilitzant kill.

Exercici 3: Canviar la Prioritat d'un Procés

  1. Executa un procés amb una prioritat específica utilitzant nice.
  2. Canvia la prioritat d'un procés en execució utilitzant renice.

Solucions

Solució a l'Exercici 1

ps aux
ps aux | grep apache2

Solució a l'Exercici 2

ps aux
kill -9 <PID>

Solució a l'Exercici 3

nice -n 10 sleep 1000
ps aux | grep sleep
renice 5 -p <PID>

Errors Comuns i Consells

  • Error: No es pot matar un procés amb kill.

    • Solució: Assegura't d'utilitzar sudo si el procés pertany a un altre usuari o utilitza kill -9 per forçar l'acabament.
  • Error: No es troba el procés amb ps.

    • Solució: Utilitza ps aux per assegurar-te que estàs llistant tots els processos.

Conclusió

La gestió de processos és una habilitat fonamental per a qualsevol administrador de sistemes Linux. Amb les comandes ps, top, htop, kill, pkill, nice i renice, pots controlar i optimitzar l'ús dels recursos del sistema de manera eficient. Practica aquestes comandes per familiaritzar-te amb elles i millorar les teves habilitats en la gestió de processos.

Domini de Linux: De Principiant a Avançat

Mòdul 1: Introducció a Linux

Mòdul 2: Comandes Bàsiques de Linux

Mòdul 3: Habilitats Avançades de la Línia de Comandes

Mòdul 4: Scripting de Shell

Mòdul 5: Administració del Sistema

Mòdul 6: Xarxes i Seguretat

Mòdul 7: Temes Avançats

Mòdul 8: Projectes Pràctics

© Copyright 2024. Tots els drets reservats