![]() |
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. |
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. |
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.