ing de sistemas
[ÍNDICE...]
La más simple definición de un proceso podría ser que es una instancia de un programa en ejecución (corriendo). A los procesos frecuentemente se les refiere como tareas. El contexto de un programa que esta en ejecución es lo que se llama un proceso. Este contexto puede ser mas procesos hijos que se hayan generado del principal(proceso padre), los recursos del sistema que este consumiendo, sus atributos de seguridad (tales como su propietario y permisos de archivos asi como roles y demás de SELinux), etc.
Linux, como se sabe, es un sistema operativo multitarea y multiusuario. Esto quiere decir que múltiples procesos pueden operar simultáneamente sin interferirse unos con los otros. Cada proceso tiene la "ilusión" que es elúnico proceso en el sistema y que tiene acceso exclusivo a todos los servicios del sistema operativo.
Programas y procesos son entidades distintas. En un sistema operativo multitarea, múltiples instancias de un programa pueden ejecutarse sumultáneamente. Cada instancia es un proceso separado. Por ejemplo, si cinco usuarios desde equipos diferentes, ejecutan el mismo programa al mismo tiempo,habría cinco instancias del mismo programa, es decir, cinco procesos distintos.
Cada proceso que se inicia es referenciado con un número de identificación único conocido como Process ID PID, que es siempre un entero positivo. Prácticamente todo lo que se está ejecutando en el sistema en cualquier momento es un proceso, incluyendo el shell, el ambiente gráfico que puede tener múltiples procesos, etc. Laexcepción a lo anterior es el kernel en si, el cual es un conjunto de rutinas que residen en memoria y a los cuales los procesos a través de llamadas al sistema pueden tener acceso.
ps
El comando es el que permite informar sobre el estado de los procesos. esta basado en el sistema de archivos /proc, es decir, lee directamente la información de los archivos que se encuentran en estedirectorio. Tiene una gran cantidad de opciones, incluso estas opciones varían dependiendo del estilo en que se use el comando. Estas variaciones sobre el uso de son las siguientes:
Estilo UNIX, donde las opciones van precedidas por un guión -
Estilo BSD, donde las opciones no llevan guión
Estilo GNU, donde se utilizan nombres de opciones largas y van precedidas por doble guión --
Sea cual sea elestilo utilizado, dependiendo de las opciones indicadas, varias columnas se mostrarán en el listado de procesos que resulte, estas columnas pueden ser entre muchas otras, las siguientes (y principales):
p o PID
Process ID, número único o de identificación del proceso.
P o PPID
Parent Process ID, padre del proceso
U o UID
User ID, usuario propietario del proceso
t o TT o TTY
Terminal asociada al proceso, si no hay terminal aparece entonces un '?'
T o TIME
Tiempo de uso de cpu acumulado por el proceso
c o CMD
El nombre del programa o camndo que inició el proceso
RSS
Resident Sise, tamaño de la parte residente en memoria en kilobytes
SZ o SIZE
Tamaño virtual de la imagen del proceso
NI
Nice, valor nice (prioridad) del proceso, un númeropositivo significa menos tiempo de procesador y negativo más tiempo (-19 a 19)
C o PCPU
Porcentaje de cpu utilizado por el proceso
STIME
Starting Time, hora de inicio del proceso
S o STAT
Status del proceso, estos pueden ser los siguientes
R runnable, en ejecución, corriendo o ejecutándose
S sleeping, proceso en ejecución pero sin actividad por el momento, o esperando por algúnevento para continuar
T sTopped, proceso detenido totalmente, pero puede ser reiniciado
Z zombie, difunto, proceso que por alguna razón no terminó de manera correcta, no debe haber procesos zombies
D uninterruptible sleep, son procesos generalmente asociados a acciones de IO del sistema
X dead, muerto, proceso terminado pero que sigue apareciendo, igual que los Z no deberían verse nunca...
Regístrate para leer el documento completo.