Revista Tecnología

El comando ps muestra por pantalla un listado de los procesos que se están ejecutando en el sistema.

Publicado el 04 agosto 2013 por Hugo Rep @HugoRep
comando psPs ("process status", estado de procesos en idioma inglés) es un comando asociado en el sistema operativo UNIX (estandarizado en POSIX y otros) que permite visualizar el estado de un Proceso (informática).
El comando ps muestra por pantalla un listado de los procesos que se están ejecutando en el sistema.
Si no añadimos ningún parámetro, ps mostrará los procesos del usuario con el que estamos logueados.
Generalmente en cualquier distribución de GNU/Linux se incluye la versión de ps que acepta diferentes tipos de opciones: las opciones UNIX que son precedidas por un guión (dash), las opciones BSD que no utilizan guión, y las opciones GNU largas que se preceden por dos guiones.
ps
Estas opciones se pueden mezclar, pero a veces ocasionan conflictos o existen opciones sinónimas que producen los mismos resultados. Por ejemplo "ps -aux" muestra todos los procesos pertenecientes al usuario llamado "x", ya que no suele existir un usuario llamado "x" ps lo interpreta como el comando "ps aux" e imprime una advertencia :D
Por defecto ps sólo muestra los procesos con el mismo user id efectivo (EUID) que el del usuario que lo ejecuta. Cuando utilizamos ps con las opciones "aux" el resultado es:
  • a: eliminar la restricción BSD "only yourself" para agregar procesos de otros usuarios
  • u: utilizar el formato orientado al usuario
  • x: eliminar la restricción BSD "must have a tty" para agregar procesos que no tengan una tty asociada
De esta forma seleccionamos todos los procesos en el sistema y los mostramos en el formato orientado al usuario.
Captura de pantalla salida ps.
Comando
   ps [modificadores] [condición]
Donde modificadores es opcional, y puede tomar los siguientes valores:
Los siguientes modificadores no toman el parámetro condición:
   -A: Muestra todos los procesos (de todos los usuarios en el sistema).
   -a: Muestra todos los procesos de una [tty] determinada.
   -d: Muestra todo excepto los líderes de la sesión.
   -e: Muestra todos los procesos (equivalente a -A).
   T: Muestra todos los procesos de la terminal actual.
   a: Muestra todos los procesos de la terminal actual incluyendo los de otros usuarios.
   g: Muestra todos los procesos incluyendo grupos líderes (obsoleta excepto en sunOs).
   r: Muestra solamente los procesos corriendo.
   x: Muestra los procesos en un estilo BSD (sin controlar la [TTY]).
comando ps
Los siguientes modificadores toman el parámetro condición:
   -N: Muestra todos los procesos excepto los que encajan con la condición (equivalente a --deselect).
   -C: Muestra los procesos que tienen como nombre la condición.
   -G: Muestra los procesos que tienen como grupo (nombre de grupo o id) la condición.
   -P: Muestra los procesos que tienen como [Identificador de proceso] la condición.
   -S: Muestra los procesos que tienen como sesión la condición.
   -U: Muestra los procesos que tienen como usuario (nombre de grupo o id) la condición.
Existen distintos modificadores admitidos según la versión del comando ps que se esté usando en el sistema (BSD, POSIX, GNU, etc.)
Entre muchas opciones que tiene ps, es posible ordenar la salida de acuerdo a una columna, para esto se debe utilizar la opción gnu larga "--sort", por ejemplo para ordenar por tiempo de CPU (si deseamos determinar qué proceso ha utilizado más CPU) seleccionamos el código "cputime", correspondiente a la columna TIME:
ps aux --sort cputimecomando ps

Volver a la Portada de Logo Paperblog