GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo obtener solo todos los ID de proceso en ejecución?

Usar formato de salida ps:

ps -A -o pid

El formato de salida del comando es la mejor opción. La opción o controla el formato de salida. Enumeré algunos de los argumentos a continuación, vea 'man ps' para el resto (para usar múltiples sería -o pid,cmd,flags ).

KEY   LONG         DESCRIPTION
   c     cmd          simple name of executable
   C     pcpu         cpu utilization
   f     flags        flags as in long format F field
   g     pgrp         process group ID
   G     tpgid        controlling tty process group ID
   j     cutime       cumulative user time
   J     cstime       cumulative system time
   k     utime        user time
   o     session      session ID
   p     pid          process ID

Awk o Cut sería mejor para obtener columnas:
En general, no querrá una expresión regular para seleccionar la primera columna, querrá canalizarla para cortar o awk para cortar la primera columna como:

ps ax | awk '{print $1}'

Regex es una opción, si no la mejor:
Si tuviera que usar expresiones regulares, podría ser algo como:

ps ax | perl -nle 'print $1 if /^ *([0-9]+)/'

$1 imprime solo lo que coincidió entre paréntesis. ^ ancla el al comienzo de la línea. El asterisco de espacio significa permitir caracteres de espacio opcionales antes del número. [0-9]+ significa uno o más dígitos. Pero no recomendaría expresiones regulares para esta tarea en particular, ¿ves por qué? :-)


ps ax | awk '{ print $1; }'

Usa la -o cambia para tener una salida en formato personalizado

ps -o pid

La mala manera de usar sed, como usted pidió explícitamente, puede ser

ps -ax | sed 's#^\( *[0-9]\+\) .*$#\1#'

Linux
  1. ¿Cómo ver la salida de un proceso en ejecución en otra sesión de Bash?

  2. Linux:¿cómo obtener la hora del reloj de pared de un proceso en ejecución?

  3. ¿Cómo reiniciar (o restablecer) un proceso en ejecución en Linux?

  4. ¿Cómo encontrar todos los procesos secundarios?

  5. ¿Cómo obtener la identificación del proceso para eliminar un proceso nohup?

Cómo enumerar los procesos en ejecución en Linux

Cómo matar el proceso de ejecución de Linux en un puerto particular

¿Cómo hacer que sha1sum genere binario?

¿Cómo puedo obtener la hora del reloj de pared de un proceso en ejecución?

¿Cómo hacer que todos los procesos se ejecuten en cada núcleo de CPU en Ubuntu?

Cómo obtener pid del proceso recién iniciado