Autor |
Mensaje |
techm3
Programador
Registrado: Febrero 2010
Mensajes: 130
Edad: 32 Ubicación:
|
Detener Script
Como puedo detener o cancelar un script a través de una consola?
|
#1 Domingo, 11 Abril 2010, 05:29 |
|
|
chen_08
Aprendiz
Registrado: Octobre 2009
Mensajes: 86
Edad: 34 Ubicación: Coclé
|
Re: Detener Script
Hola techm3 creo que esto te puede ayudar..!!
Si ejecutas el script con gambas y guardas el proceso en una variable es decir
PUBLIC proceso AS Process
proceso = SHELL ("perl /home/jose/get_flash_videos http://www.youtube.com/watch?v=gdMDMrNbxC4 -f /home/jose/Escritorio/prueba.mp4 -r high")
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
última edición por chen_08 el Domingo, 11 Abril 2010, 15:06; editado 1 vez
|
#2 Domingo, 11 Abril 2010, 15:05 |
|
|
techm3
Programador
Registrado: Febrero 2010
Mensajes: 130
Edad: 32 Ubicación:
|
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!
|
#3 Jueves, 03 Junio 2010, 03:43 |
|
|
fabianfv
Analista Programador
Registrado: Octobre 2009
Mensajes: 495
Edad: 50 Ubicación:
|
Re: Detener Script
Citar:
A mi entender el error se encuentra cuando utilizo WAIT ; cual sería una posible solución?
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?
=================== Cómo programar con Gambas
Speed Books: informática libre.
|
#4 Jueves, 03 Junio 2010, 17:15 |
|
|
techm3
Programador
Registrado: Febrero 2010
Mensajes: 130
Edad: 32 Ubicación:
|
Re: Detener Script
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í?
última edición por techm3 el Viernes, 04 Junio 2010, 00:40; editado 1 vez
|
#5 Jueves, 03 Junio 2010, 23:28 |
|
|
fabianfv
Analista Programador
Registrado: Octobre 2009
Mensajes: 495
Edad: 50 Ubicación:
|
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.
=================== Cómo programar con Gambas
Speed Books: informática libre.
|
#6 Viernes, 04 Junio 2010, 00:58 |
|
|
techm3
Programador
Registrado: Febrero 2010
Mensajes: 130
Edad: 32 Ubicación:
|
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:
#!/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
|
#7 Viernes, 04 Junio 2010, 02:49 |
|
|
fabianfv
Analista Programador
Registrado: Octobre 2009
Mensajes: 495
Edad: 50 Ubicación:
|
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.
=================== Cómo programar con Gambas
Speed Books: informática libre.
|
#8 Viernes, 04 Junio 2010, 16:00 |
|
|
techm3
Programador
Registrado: Febrero 2010
Mensajes: 130
Edad: 32 Ubicación:
|
Re: Detener Script
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?
????
última edición por techm3 el Domingo, 06 Junio 2010, 23:28; editado 1 vez
|
#9 Viernes, 04 Junio 2010, 21:58 |
|
|
techm3
Programador
Registrado: Febrero 2010
Mensajes: 130
Edad: 32 Ubicación:
|
Re: Detener Script
alguna idea???
|
#10 Lunes, 07 Junio 2010, 17:49 |
|
|
|