lunes, 30 de septiembre de 2013

Buscar un proceso entre los que se están ejecutando. Comandos ps y grep











A continuación voy a describir cómo buscar un proceso dentro de la lista de procesos que se están ejecutando. Ésto puede ser útil si existen muchos procesos y queremos buscar uno o varios de los que sepamos su nombre o parte de su nombre. Para ello utilizaremos conjuntamente los comandos ps y fgrep. Se haría de la siguiente forma:
ps -ef | grep (cadena)


Con “ps -ef” obtenemos un listado de todos los procesos que se están ejecutando. Luego con grep (cadena) filtramos esa lista y nos quedamos sólo con los que contengan la cadena.

Ejemplo:
ps -ef | grep sh


Ésto nos mostrará todos los procesos que se están ejecutando y que contengan la cadena sh. La salida que daría sería parecida a ésta (las columnas de izquierda a derecha serían: PID, usuario, tiempo, comando):
    1 root       0:00 /bin/sh /sbin/init                                       
   36 root       0:00 [pdflush]                                                
   37 root       0:00 [pdflush]                                                
  155 root       0:00 sh                                                       
  161 root       0:00 grep sh




Podemos ir un paso más allá y quitar algunas entradas del listado que no nos interesen. Por ejemplo, si queremos que se muestren todos los procesos que contengan la cadena “ap” pero que se omitan los que contienen la cadena “grep”. El comando para hacer eso sería así:
ps -ef | grep ap | grep -v grep


Como podemos ver, los comandos ps y grep utilizados en conjunción suponen una herramienta imprescindible y potente en la administración de un equipo o sistema.




4 Comentarios:

Romulus dijo...

Podrías haber mencionado el comando "pgrep -lf" :-)

Felipe Martínez D. dijo...

Hola Romulus.

Efectivamente, el comando "pgrep -lf" hace prácticamente lo mismo que "ps -ef | grep". Digamos que es un atajo para no tener que utilizar la conjunción de comandos ps y grep. Gracias por tu aporte.

Saludos.

Barquisimeto dijo...

Creo que se obtienen resultados mas completos utilizando "ps" "grep", no se, quizás no se usar bien "pgrep".

Felipe Martínez D. dijo...

Así es Barquisimeto, "ps -df | grep" da más información. Depende de las necesidades se puede usar uno o otro.

Saludos.

Publicar un comentario

Felinfo: Java, Linux, Virtualización. Open Source.  ©Template Blogger Green by Dicas Blogger .

TOPO