miércoles, 11 de noviembre de 2015

Manejo de Procesos

Manejo de Procesos

Para el manejo de Procesos en GNU/Linux podemos utilizar las herramientas de top,htop,ps las cuales nos permiten visualizar el PID de un proceso el PPID de un proceso, etc.

Para comprender los procesos en GNU/Linux debemos comprender los siguientes conceptos:

Proceso padre

El proceso padre es el cual contiene bajo su poder procesos hijos.
El proceso padre en las versiones de RHEL5,6 es el init
El proceso padre en las versiones de RHEL7 y posteriores es el systemd

El init y el systemd se encargan de manejar los demás procesos en el sistema operativo.

Posteriormente agregaré un blog explicando las características de cada uno de ellos.

Proceso hijo

El proceso hijo va a depender de la supervivencia de un proceso padre.
Todos los procesos que se ejecuten por debajo del init y del systemd se consideran procesos hijos.

Como todo en GNU/Linux los procesos tiene características similares a los archivos o directorios de esa forma un proceso tiene:

  • ID del usuario dueno del proceso
  • ID del proceso
  • ID del proceso padre
  • variables
  • directorios de configuración
  • archivos de ejecución
Una vez claros los conceptos basicos de procesos podemos empezar a manejarlos.
Tomaremos como ejemplo el proceso mas elemental en GNU/Linux el interprete de comandos el "bash"

Para identificar el PID el PPID el ID del proceso vamos a usar el comando ps

Si es de nuestro interes el conocer el  PID/PGID/PPID/SID de un determinado proceso podemos ejecutar lo siguiente en un terminal.


Para listar los procesos 

ps -efj | less

ps -efj | grep process
ps -efj | grep pid
Si deseamos tener mas información de los procesos podemos intentar los siguientes comandos.
ps -ejf | egrep 'STIME | nombre_proceso'
ps -ejf | egrep 'STIME | pid_del_proceso'
Ejemplos:
ps -ejf | egrep 'STIME | bash'
ps -ejf | egrep 'STIME | 1234' Suponiendo que el proceso 1234 es equivalente a uno conocido.






No hay comentarios:

Publicar un comentario