Administración de los procesos

bash

Los procesos del sistema son todo lo que corre en el sistema operativo, como aplicaciones y scripts, a todos los procesos del sistema se les asigna un PID (Process ID), un valor numérico que lo identifica de forma única en el sistema. Podemos enumerar los procesos de la siguiente manera :

ps -e : Muestra todos los procesos en ejecución. 
ps -aux : Muestra todos los procesos, incluyendo la información del usuario, el porcentaje de CPU y memoria, y el comando que lo ha generado. 
ps -f : Muestra la jerarquía de los procesos, mostrando el proceso padre de cada proceso. 
ps -u el_user_aqui : Muestra los procesos en ejecución de un usuario específico. 

Estos son útiles para administrar nuestro script y otros procesos.

Terminar procesos :

kill -9 PID_aqui

En nuestro script podemos administrar el inicio de procesos de algunas formas

firefox & # abre firefox en segundo plano

un proceso hijo es un proceso el cual depende de un proceso padre, si se termina el proceso padre se termina junto al hijo, pero si terminas al proceso hijo el proceso padre deberia seguir activo.

  • un ejemplo de proceso padre puede ser la terminal ejecutando firefox como lo hicimos arriba, ya que se ejecuto un comando ahi mismo para abrir el programa, aunque haya sido en segundo plano

si queremos independizar un proceso hijo de un proceso padre para poder cerrar el proceso padre podemos hacer estas cosas :

firefox & disown
nohup firefox & # Esto ignora la señal SIGHUP (hang up), y Firefox seguirá abierto después de cerrar la terminal.
# Nohup significa no hang up

Cuando hablamos de procesos también hay que tener en cuenta el stderr y stdout

stdout : es el output del comando o proceso, ósea la respuesta que da. Su código de estado es 0

stderr : los errores que lanzan los comandos o el script, error de la operación. Su código de estado es 2

Last updated