Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Unix / Linux (http://www.forosdelweb.com/f41/)
-   -   problemas con el comando grep (http://www.forosdelweb.com/f41/problemas-con-comando-grep-529018/)

aeb_asturias 28/10/2007 13:52

problemas con el comando grep
 
Hola a todos. Tengo el siguiente problemilla:

Necesito saber si un proceso con PID conocido se está ejecutando en el sistema. Sabemos que con el comando "ps" obtenemos información de los procesos que el usuario tiene ejecutándose.

Necesito de alguna manera formatear el resultado que me devuelve el comando "ps" para saber simplemente si se ejecuta dicho proceso.

Yo estaba haciendo:

ps|grep 70154 siendo 70154 el PID del proceso que quiere saber si se está ejecutando en el sistema o no.

El comando anterior me devuelve dos lineas:


ps|grep 70154 :

70158 pts/4 S 0:00.71 grep 70154
70154 pts/5 S 0:00.02 recolector ----> Este es el proceso que quiero averiguar si se esta ejecutando.


Yo quería simplemente obtener la primera columna del resultado anterior de manera que si el resultado no es vacio indica que se está ejecutando el proceso y si me devuelvo vacio indica que no se está ejecutando.

El problema que tengo es que por un lado nose como hacerlo y por el otro que el comando anteriormente ejecutado me devuelve dos lineas ya que al hacer el grep con el PID del proceso me está devolviendo encima la linea correspondiente a dicho comando ya que también contiene el número 70154.

Espero haberme explicado bien.


Saludos.

wmgranpyme 29/10/2007 04:33

Re: problemas con el comando grep
 
Bien, lo primero que seguramente dispongas del comando pgrep que ya haría el ps |grep por ti, te devuelve directamente el pid del proceso.

Por ejemplo: pgrep firefox te devolvería todos los PID que tengan en el nombre de proceso firefox.

Luego, a la consulta que estás haciendo podrías combinar grep con cut

ps | grep 70154 | cut -c3 -d" " Te devolvería la tercera columna. Para obtener la última fila podrías hacer tambíen un less -l 1

ps | grep 70154 | cut -c3 -d" " | less -l 1

Saludos.

aeb_asturias 29/10/2007 05:41

Re: problemas con el comando grep
 
Muchas gracias por responder wmgranpyme.

Había encontrado esta solución:

ps|grep 7456 |grep -v grep


Con la opción -v del último grep indico que no quiero que me aparezca las lineas que contengan la palabra grep. De esta manera solo obtengo la linea que quería y no también la del proceso asociado al grep que era lo que me ocurría.

Ahora voy a probar con el cut que has puesto para obtener solo la columna adecuada.



Saludos y gracias.


La zona horaria es GMT -6. Ahora son las 08:56.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.