En aquest tema, aprendrem a gestionar processos en Bash. La gestió de processos és una habilitat essencial per a qualsevol administrador de sistemes o desenvolupador que treballi amb sistemes Unix o Linux. Els processos són programes en execució, i la capacitat de gestionar-los eficientment pot millorar significativament el rendiment i la seguretat del sistema.

Conceptes Clau

  1. Processos i PID: Cada procés en execució té un identificador únic anomenat PID (Process ID).
  2. Processos en Primer Pla i en Segon Pla: Els processos poden executar-se en primer pla (foreground) o en segon pla (background).
  3. Senyalització de Processos: Els processos poden rebre senyals per realitzar accions específiques, com ara parar-se o reiniciar-se.
  4. Comandes de Gestió de Processos: Hi ha diverses comandes en Bash per gestionar processos, com ps, top, kill, bg, fg, i jobs.

Comandes de Gestió de Processos

ps

La comanda ps mostra una llista dels processos en execució. Alguns dels paràmetres més comuns són:

  • ps: Mostra els processos en execució per l'usuari actual.
  • ps -e: Mostra tots els processos del sistema.
  • ps -f: Mostra una llista completa amb més detalls.

Exemple:

ps -e

top

La comanda top proporciona una vista en temps real dels processos en execució, incloent l'ús de la CPU i la memòria.

Exemple:

top

kill

La comanda kill s'utilitza per enviar senyals a un procés. El senyal més comú és SIGTERM (senyal de terminació), que demana al procés que es tanqui de manera ordenada.

Exemple:

kill <PID>

Per enviar un senyal específic, com SIGKILL (terminació immediata), utilitza:

kill -9 <PID>

bg i fg

Les comandes bg i fg s'utilitzen per gestionar processos en segon pla i en primer pla, respectivament.

  • bg: Envia un procés al segon pla.
  • fg: Porta un procés del segon pla al primer pla.

Exemple:

# Executar un procés en segon pla
sleep 100 &

# Llistar processos en segon pla
jobs

# Portar un procés del segon pla al primer pla
fg %1

jobs

La comanda jobs mostra una llista dels processos en segon pla associats a la sessió actual de la shell.

Exemple:

jobs

Exercicis Pràctics

Exercici 1: Llistar Processos

  1. Utilitza la comanda ps per llistar tots els processos en execució.
  2. Utilitza la comanda top per veure els processos en temps real.

Solució:

ps -e
top

Exercici 2: Gestionar un Procés en Segon Pla

  1. Executa la comanda sleep 100 en segon pla.
  2. Utilitza la comanda jobs per veure el procés en segon pla.
  3. Porta el procés al primer pla utilitzant fg.

Solució:

sleep 100 &
jobs
fg %1

Exercici 3: Terminar un Procés

  1. Troba el PID d'un procés en execució utilitzant ps.
  2. Termina el procés utilitzant kill.

Solució:

ps -e
kill <PID>

Errors Comuns i Consells

  • No trobar el PID correcte: Assegura't d'utilitzar ps o top per trobar el PID correcte del procés que vols gestionar.
  • Utilitzar el senyal incorrecte: Utilitza kill -9 només com a últim recurs, ja que no permet al procés tancar-se de manera ordenada.
  • Oblidar el símbol &: Quan vols executar un procés en segon pla, no oblidis afegir & al final de la comanda.

Resum

En aquesta secció, hem après a gestionar processos en Bash utilitzant diverses comandes com ps, top, kill, bg, fg, i jobs. La gestió eficient de processos és crucial per mantenir el sistema operatiu funcionant de manera òptima i segura. En el proper tema, explorarem la gestió d'errors i la depuració en scripts de Bash.

© Copyright 2024. Tots els drets reservats