elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Duda-BASH-- Monitorización de procesos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda-BASH-- Monitorización de procesos  (Leído 1,711 veces)
ToLoMaTo

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Duda-BASH-- Monitorización de procesos
« en: 22 Enero 2016, 14:03 pm »

Buenas a todos!

Es la primera vez que publico en este foro, pero os llevo siguiendo desde hace unos años, primero de todo daros las gracias por las dudas que me habéis resuelto en el pasado.

Bueno os comento, el tema es que estoy creando un script en bash para clase, este script debe ejecutar ciertas sentencias SQL y monitorizar el consumo de estas.

En mi caso, existe una función launchQuery que recibe por parámetro el string con la sentencia deseada y la ejecuta. Esta función la lanzo en segundo plano con el operador '&' recojo su PID con el operador '$!' y mientras exista ese PID ejecuto el programa ps -p PID.

Aquí es donde esta el problema, cuando ejecuto el ps(también he probado con top) me dice que el PID no es valido y creo que es porque cuando lo lanzo ya ha terminado la query.

Creéis que estoy haciendo algo mal o más bien es un tema de concepto. El código no lo tengo a mano en 2 horitas lo subo.

De antemano gracias a todos. Un saludo.


En línea

ToLoMaTo

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Duda-BASH-- Monitorización de procesos
« Respuesta #1 en: 22 Enero 2016, 15:52 pm »

Este seria el código:

       launchQuery "$q" &
      pid="$(ps -p $! | grep bash)"
       ps -p $pid -l | tail -n1 >> log.temp
      control=0
      while [ $control -eq 0 ]
      do
         if [ -z "$pid" ]
         then
                wait $pid
               control=1
         else
            ps -p $pid -l | tail -n1 >> log.temp
                sleep 5
         fi
         pid="$(ps -p $! | grep bash)"
      done


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda con procesos en bash
Scripting
kamsky 5 3,367 Último mensaje 14 Marzo 2007, 15:04 pm
por kamsky
Duda en bash
Scripting
Flakito81 4 3,329 Último mensaje 13 Abril 2010, 22:31 pm
por Flakito81
Duda con condición BASH
Scripting
.:UND3R:. 2 2,246 Último mensaje 8 Noviembre 2013, 02:08 am
por .:UND3R:.
(Bash)Me corroe la duda
Scripting
Mr_Black 2 2,179 Último mensaje 8 Enero 2015, 20:08 pm
por Mr_Black
¿Como hacer un bash en linux que muestre fecha y procesos?
GNU/Linux
Wikipedio 2 2,346 Último mensaje 25 Agosto 2015, 14:01 pm
por NOS DOMINAN DEMONIACAMENTE
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines