Retroceder   Foros del Web > Temas generales de computación > Sistemas Operativos > BSD y Linux

Respuesta
 
Herramientas Desplegado
Antiguo 28-oct-2007, 13:52   #1 (permalink)
aeb_asturias está en el buen camino
 
Fecha de Ingreso: marzo-2004
Mensajes: 495
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.
aeb_asturias está desconectado   Responder Citando
Antiguo 29-oct-2007, 04:33   #2 (permalink)
wmgranpyme no se puede cailificar en este momento
 
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 23
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.
wmgranpyme está desconectado   Responder Citando
Antiguo 29-oct-2007, 05:41   #3 (permalink)
aeb_asturias está en el buen camino
 
Fecha de Ingreso: marzo-2004
Mensajes: 495
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.
aeb_asturias está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 14:32.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93