Usos de ejemplo del comando ps de Linux

El comando ps produce una lista de los procesos que se ejecutan actualmente en su computadora. Esta guía le mostrará los usos más comunes del comando ps para que pueda aprovecharlo al máximo.

El comando ps produce una lista de los procesos que se ejecutan actualmente en su computadora. Esta guía le mostrará los usos más comunes del comando ps para que pueda aprovecharlo al máximo.

El comando ps se usa comúnmente junto con el comando grep y los comandos más o menos .

Estos comandos adicionales ayudan a filtrar y paginar la salida de ps que a menudo puede ser bastante larga.

Cómo usar el comando ps

Por sí solo, el comando ps muestra los procesos que ejecuta el usuario que lo ejecuta dentro de una ventana de terminal. Para invocar ps simplemente escriba lo siguiente:

 ps 

La salida mostrará filas de datos que contienen la siguiente información:

  • PID
  • TTY
  • Hora
  • Mando

El PID es la ID del proceso que identifica el proceso en ejecución. El TTY es el tipo de terminal.

Por sí solo, el comando ps es bastante limitado. Probablemente quiera ver todos los procesos en ejecución. Para ver todos los procesos en ejecución, use cualquiera de los siguientes comandos:

 ps -A 
 ps -e 

Para mostrar todos los procesos, excepto los líderes de sesión, ejecute el siguiente comando:

 ps -d 

Entonces, ¿qué es un líder de sesión? Cuando un proceso inicia otros procesos, es el líder de la sesión de todos los demás procesos. Imagine que el proceso A inicia el proceso B y procesa C . El proceso B inicia el proceso D y el proceso C inicia el proceso E . Cuando enumere todos los procesos, excepto los líderes de sesiones, verá B, C, D y E pero no A .

Puede negar cualquiera de las selecciones que haya elegido utilizando el interruptor -N . Por ejemplo, si desea ver solo los líderes de sesión ejecutan el siguiente comando:

 ps -d -N 

Obviamente, el -N no es muy sensato cuando se usa con los interruptores -e o -A ya que no mostrará nada en absoluto.

Si desea ver solo los procesos asociados con este terminal, ejecute el siguiente comando:

 ps T 

Si desea ver todos los procesos en ejecución con el siguiente comando:

 ps r 

Selección de procesos específicos con el comando ps

Puede devolver procesos específicos utilizando el comando ps y hay varias formas de cambiar los criterios de selección.

Por ejemplo, si conoce la identificación del proceso, simplemente puede usar el siguiente comando:

 ps -p 

Puede seleccionar múltiples procesos especificando múltiples ID de proceso de la siguiente manera:

 ps -p "1234 9778" 

También puede especificarlos usando una lista separada por comas:

 ps -p 1234,9778 

Lo más probable es que no conozca la ID del proceso y que sea más fácil buscar por comando. Para hacer esto, use el siguiente comando:

 ps -C 

Por ejemplo, para ver si Chrome se está ejecutando, puede usar el siguiente comando:

 ps -C cromo 

Es posible que se sorprenda al ver que esto devuelve un proceso para cada pestaña abierta.

Otras formas de filtrar resultados son por grupo. Puede buscar por nombre de grupo utilizando la siguiente sintaxis:

 ps -G ps --Grupo 

Por ejemplo, para descubrir todos los procesos que ejecuta el grupo de cuentas, escriba lo siguiente:

 ps -G "cuentas" ps --Grupo "cuentas" 

También puede buscar por ID de grupo en lugar de por nombre de grupo utilizando una «g» en minúscula de la siguiente manera:

 ps -g ps --grupo 

Si desea buscar por una lista de ID de sesión, use el siguiente comando:

 ps -s 

Alternativamente, use lo siguiente para buscar por tipo de terminal.

 ps -t 

Si desea encontrar todos los procesos ejecutados por un usuario específico, pruebe el siguiente comando:

 ps U 

Por ejemplo, para encontrar todos los procesos ejecutados por gary , ejecute lo siguiente:

 ps U "gary" 

Tenga en cuenta que esto muestra a la persona cuyas credenciales se utilizan para ejecutar el comando. Por ejemplo, si tiene un ingreso como gary y ejecuta el comando anterior, mostrará todos los comandos que usted haya ejecutado.

Si inicia sesión como Tom y utiliza sudo para ejecutar un comando, el comando anterior mostrará el comando Tom como ejecutado por gary y no Tom .

Para limitar la lista solo a los procesos realmente ejecutados por gary , use el siguiente comando:

 ps -U "gary" 

Formateo de la salida del comando ps

De forma predeterminada, obtiene las mismas cuatro columnas cuando usa el comando ps :

  • PID
  • TTY
  • Hora
  • Mando

Puede obtener una lista completa ejecutando el siguiente comando:

 ps -ef 

El -e , como usted sabe, muestra todos los procesos y el f o -f muestra todos los detalles.

Las columnas devueltas son las siguientes:

  • ID de usuario
  • PID
  • PPID
  • C
  • Tiempo
  • TTY
  • Hora
  • Mando

La ID de usuario es la persona que ejecutó el comando. El PID es el ID de proceso del comando del comando. El PPID es el proceso principal que inició el comando.

La columna C muestra el número de hijos que tiene un proceso. El tiempo es el tiempo de inicio del proceso. El TTY es el terminal, el tiempo es la cantidad de tiempo que tardó en ejecutarse y el comando es el comando que se ejecutó.

Puede obtener aún más columnas con el siguiente comando:

 ps -eF 

Esto devuelve las siguientes columnas:

  • UID
  • PID
  • PPID
  • C
  • SZ
  • RSS
  • PSR
  • Tiempo
  • TTY
  • Hora
  • Mando

Las columnas adicionales son SZ, RSS y PSR. SZ es el tamaño del proceso, RSS es el tamaño de la memoria real y PSR es el procesador al que se le asigna el comando.

Puede especificar un formato definido por el usuario utilizando el siguiente modificador:

 ps -e --format 

Los formatos disponibles son los siguientes:

  • % cpu : utilización de la CPU
  • % mem : utilización de porcentaje de memoria
  • args : el comando con todos sus argumentos
  • c : utilización del procesador
  • cmd : el comando
  • comm : solo el nombre del comando
  • cp : uso de CPU
  • cputime : tiempo de CPU
  • egid : Id. de grupo efectivo
  • egroup : grupo efectivo
  • etime : tiempo transcurrido
  • euid : identificación de usuario efectiva
  • euser : usuario efectivo
  • gid : ID de grupo
  • grupo : nombre del grupo
  • pgid : ID de grupo de proceso
  • pgrp : grupo de procesos
  • ppid : ID del proceso principal
  • inicio : Hora de inicio del proceso
  • sz : tamaño en páginas físicas
  • cuenta : subprocesos propiedad del proceso
  • tiempo : tiempo acumulado
  • uid : ID de usuario
  • uname : nombre de usuario

Hay muchas más opciones, pero estas son las más utilizadas.

Para usar los formatos, escriba lo siguiente:

 ps -e --format = "uid uname cmd time" 

Puede mezclar y combinar los elementos como desee.

Salida de clasificación

Para ordenar la salida, use la siguiente notación:

 ps -ef --sort 

La elección de las opciones de clasificación es la siguiente:

  • cmd : nombre ejecutable
  • pcpu : utilización de la CPU
  • banderas : banderas
  • pgrp : ID de grupo de proceso
  • cutime : tiempo acumulado del usuario
  • cstime : tiempo acumulado del sistema
  • utime : tiempo de usuario
  • pid : ID de proceso
  • ppid : ID del proceso principal
  • tamaño : tamaño
  • uid : ID de usuario
  • usuario : Nombre de usuario

Nuevamente, hay más opciones disponibles, pero estas son las más comunes.

Un ejemplo de comando ordenar es el siguiente:

 ps -ef --sort user, pid 

Usando ps Con grep, cada vez menos comandos

Como se mencionó al principio, es común usar ps con los comandos grep , less y más .

Los comandos menos y más lo ayudarán a examinar los resultados página por página. Para usar estos comandos, simplemente canalice la salida de grep en ellos de la siguiente manera:

 ps -ef | más ps -ef | menos 

El comando grep te ayuda a filtrar los resultados del comando ps .

Por ejemplo:

 ps -ef | grep chrome 

Resumen

El comando ps se usa comúnmente para enumerar procesos dentro de Linux. También puede usar el comando top para mostrar los procesos en ejecución de una manera diferente.

Rate article
labsfabs.com
Add a comment