Posted by q3it on viernes, abril 07, 2023 in Linux
Hoy voy a hablar sobre el comando ps, este comando muestra información de los procesos activos y aunque su uso es bastante fácil la información que muestra puede ser bastante compleja de entenderla. Su sintaxis es ps y luego unas opciones, estas opciones pueden tener dos formatos, unos sin guiones o otros con guiones. Pero si nosotros ponemos simplemente ps y no añadimos ninguna opción para añadir más columnas, por defecto nos va a mostrar la primera columna llamada PID que es un id de proceso, es un proceso único durante su ejecución. Significa que mientras se esté ejecutando no habrá otro proceso con este id. Este PID se utilizará para cambiarle su prioridad, para terminarlo o simplemente para mostrar información de los recursos.
Segunda columna, es el terminal "TTY" donde se ha ejecutado este proceso, está asociado a una sesión y nos dirá si ha sido local o remota.
La tercera columna, es el tiempo "TIME" de ejecución, pero no es el tiempo desde que ha iniciado, si no, es el tiempo que ha utilizado el procesador.
La cuarta columna, es el nombre del comando ejecutado "CMD" pero sin argumentos.
Nosotros ejecutamos el comando ps, y este nos mostrará desde que yo he abierto la sesión, los comandos que están activamente en esta sesión.
Si yo ejecuto algún comando más, lo pongo por ejemplo en segundo plano y vuelvo a poner ps, veremos que ahora tengo cuatro procesos, pero claro en el sistema hay muchos más procesos, que cuatro simplemente.
Si no le especificamos ninguna opción se estarán mostrando los comandos que nosotros hemos ejecutado en esta sesión y siguen activos. Si nosotros queremos mostrar más procesos podemos utilizar la opción a sin ningún guion, lo que nos mostrará son todos los procesos asociados a un TTY. ¿Qué significa esto?. Que son comandos que ha ejecutado un usuario y tienen una terminal abierta asociada. Como vimos con nohup y disown, nosotros podríamos desasociar un proceso de una terminal y asociarlo a un TTY. Entonces ps con la opción a veremos que se nos
muestra más comandos, y son comandos que están asociados a una TTY.
muestra más comandos, y son comandos que están asociados a una TTY.
Si nosotros queremos mostrar los que no están asociados a un TTY, entonces podemos utilizar la opción x, si ponemos ax nos mostrará todos los procesos que están en el sistema.
Además de con esta opción nos mostrará la terminal si están ejecutándose, cuál es su estado, el tiempo que ha estado utilizando, el procesado y el comando que se ejecutó.
Si nosotros queremos ver todos los procesos la otra sintaxis es utilizando el guion, y podemos utilizar -e y -A mayúscula y veremos que la salida es muy parecida. Con -e se nos muestra las cuatro columnas que decía antes que eran por defecto, del procesador, terminal 'cuando no está asociada aparece con una interrogación', uso de la CPU y nombre del proceso.
Con -A nos mostrará la misma información como vemos con el comando ps de una forma simple, veremos todos los procesos que se están ejecutando en nuestro ordenador y nos muestra información de cuánto tiempo se ha usado la CPU.
Esto es muy útil para detectar si hay algún proceso que está utilizando más memoria o CPU de lo necesario.