Foros del Web » Administración de Sistemas » Unix / Linux »

problemas con el comando grep

Estas en el tema de problemas con el comando grep en el foro de Unix / Linux en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 28/10/2007, 13:52
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 8 meses
Puntos: 7
Sonrisa 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.
  #2 (permalink)  
Antiguo 29/10/2007, 04:33
 
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 33
Antigüedad: 17 años, 1 mes
Puntos: 1
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.
  #3 (permalink)  
Antiguo 29/10/2007, 05:41
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 8 meses
Puntos: 7
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.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:23.