Detener Script
Subject: Re: Detener Script
Last edited by chen_08 on Sunday, 11 April 2010, 15:06; edited 1 time in total
Hola techm3 creo que esto te puede ayudar..!!
Si ejecutas el script con gambas y guardas el proceso en una variable es decir
La variable proceso tiene una propiedad id que es el ID del proceso, tambien contiene una metodo kill lo que hace es tumbar el proceso es decir que si haces
proceso.Kill //Tumbara el proceso
proceso.Id //Retorna el Id del proceso
Para mas información sobre la declaración de variable tipo process
Documentacion Variable Tipo Process
Espero haberte Ayudado..!! Saludos
Si ejecutas el script con gambas y guardas el proceso en una variable es decir
La variable proceso tiene una propiedad id que es el ID del proceso, tambien contiene una metodo kill lo que hace es tumbar el proceso es decir que si haces
proceso.Kill //Tumbara el proceso
proceso.Id //Retorna el Id del proceso
Para mas información sobre la declaración de variable tipo process
Documentacion Variable Tipo Process
Espero haberte Ayudado..!! Saludos
Last edited by chen_08 on Sunday, 11 April 2010, 15:06; edited 1 time in total
Subject: Re: Detener Script
Para comenzar el script utilizo:
Resulta que en ese momento mi applicación se congela ya que el script lo que hace es grabar con sox y necesita ser detenido manualmente por la terminal. Para eso tengo dos botones, uno que comienza el script y otro para detenerlo pero no logro hacerlo por que la applicación se congela y no me lo permite. A mi entender el error se encuentra cuando utilizo WAIT ; cual sería una posible solución?
Gracias de antemano!
Resulta que en ese momento mi applicación se congela ya que el script lo que hace es grabar con sox y necesita ser detenido manualmente por la terminal. Para eso tengo dos botones, uno que comienza el script y otro para detenerlo pero no logro hacerlo por que la applicación se congela y no me lo permite. A mi entender el error se encuentra cuando utilizo WAIT ; cual sería una posible solución?
Gracias de antemano!
Subject: Re: Detener Script
Lo obvio sería que no uses WAIT, así que asumo que lo usas porque te ha parecido que no puedes prescindir de ello, entonces ¿con qué objetivo estás usando WAIT? ¿acaso ese proceso no puede ejecutarse en segundo plano?
Citar:
Lo obvio sería que no uses WAIT, así que asumo que lo usas porque te ha parecido que no puedes prescindir de ello, entonces ¿con qué objetivo estás usando WAIT? ¿acaso ese proceso no puede ejecutarse en segundo plano?
Subject: Re: Detener Script
Last edited by techm3 on Friday, 04 June 2010, 00:40; edited 1 time in total
Perdona mi ignorancia en el tema... no sabía que se posía utilizar sin argumento alguno. Gracias!
Esto me funcionó, ya no se congela la aplicación... ahora tengo otro problema; no se si comenté que tenía un botón para que deje de grabar y planeaba utilizar Kill pero no me funcionó. Para detener el script en el terminal es necesario oprimir Ctrl-C o cerrar la ventana, como puedo hacer para que este botón actue así?
Esto me funcionó, ya no se congela la aplicación... ahora tengo otro problema; no se si comenté que tenía un botón para que deje de grabar y planeaba utilizar Kill pero no me funcionó. Para detener el script en el terminal es necesario oprimir Ctrl-C o cerrar la ventana, como puedo hacer para que este botón actue así?
Last edited by techm3 on Friday, 04 June 2010, 00:40; edited 1 time in total
Subject: Re: Detener Script
¿Y cuál es el código de ese botón?
Prueba algo así:
Y recuerda leer el capítulo 4: "Gestión de procesos" del libro de gambas.
Saludos cordiales.
Prueba algo así:
Y recuerda leer el capítulo 4: "Gestión de procesos" del libro de gambas.
Saludos cordiales.
Subject: Re: Detener Script
Hola fabianfv, leí el capítulo y hay varias cosas interesantes... utilizé el código que me enviaste y el script funciona, graba a la perfección, pero no se detiene; el continúa grabando. Esto fue lo que hice:
El script que utilizo es el siguiente:
El script que utilizo es el siguiente:
#!/bin/bash
#This script require sox
#sudo apt-get install sox
TIME=$(date +%d-%b-%y_%H%M-%Z)
# Get sink monitor:
MONITOR=$(pactl list | grep -A2 '^Source #' | \
grep 'Name: .*\.monitor$' | awk '{print $NF}' | tail -n1)
# Record it raw, and convert to a wav
echo "Recording. Ctrl-C or close window to stop"
parec -d "$MONITOR" | sox -t raw -r 44100 -sLb 16 -c 2 - Recorded_Sound_$TIME.wav
#This script require sox
#sudo apt-get install sox
TIME=$(date +%d-%b-%y_%H%M-%Z)
# Get sink monitor:
MONITOR=$(pactl list | grep -A2 '^Source #' | \
grep 'Name: .*\.monitor$' | awk '{print $NF}' | tail -n1)
# Record it raw, and convert to a wav
echo "Recording. Ctrl-C or close window to stop"
parec -d "$MONITOR" | sox -t raw -r 44100 -sLb 16 -c 2 - Recorded_Sound_$TIME.wav
Subject: Re: Detener Script
Ahora recuerdo que observé ese comportamiento en mis programas: el método Kill de la clase Process falla cuando se utiliza SHELL, así que deberías usar EXEC en su lugar.
Subject: Re: Detener Script
Last edited by techm3 on Sunday, 06 June 2010, 23:28; edited 1 time in total
Lo acabo de probarar y no funciona... no hay alguna forma de simular que se escribe Ctrl-C en la misma "terminal" en la cual se corre el script? Cuando comienza el script la consola de gambas me dice que presione Ctrl-C o cierre la ventana para detenerlo... como mismo lo muestra el script arriba. Se podría hacer?
????
????
Last edited by techm3 on Sunday, 06 June 2010, 23:28; edited 1 time in total
Page 1 of 3
You cannot post new topicsYou cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events
This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Generation Time: 0.1037s (PHP: -21% SQL: 121%)
SQL queries: 26 - Debug Off - GZIP Enabled