[pyar] Reiniciar aplicacion
Sergio Vernis
svernis en gmail.com
Mie Jul 21 10:46:37 ART 2010
El día 21 de julio de 2010 10:11, Gonzalo <gonchi.sanchez en gmail.com> escribió:
> Hola! Hace tiempo que no escribo, tengo una pequnia consulta:
> Estoy haciendo una aplicación en python y necesito que en cierto
> momento (mediante un evento o algo que yo controlo) la aplicacion se
> reinicie. Buscando encontré la función reload() pero según la doc:
> "Reload a previously imported module. The argument must be a module
> object, so it must have been successfully imported before. "
> Entonces creo que no me sirve...
> Alguna sugerencia?
Gonzalo:
Lo que necesitas es un lanzador que lance tu aplicación y que la
detenga y reinicie cada un cierto tiempo.
Podes hacer que la aplicación lanzada le avise a la aplicación
lanzadora cuando es posible reiniciarla.
Yo he lanzado una aplicación, pero una vez que termina su tiempo de
ejecución la mato sin contemplaciones, y la vuelvo a reiniciar. A mi
me sirvió, para lo que necesitaba [1].
Saludos.
Sergio.
[1]
def startsoundrecorder():
"""Start Recording"""
global soundrecorderpid, soundrecordernumberfile, SoundFileName
debug('Start Recording:
'+NombreArchivoSonido+'_'+str(soundrecordernumberfile).zfill(2)+TipoDeArchivoSonido)
if (not soundrecorderpid) and SoundRecorder:
if (soundrecordernumberfile==1) and (not os.path.exists(SoundRecordFolder)):
os.mkdir(SoundRecordFolder)
SoundFileName=NombreArchivoSonido+'_'+str(soundrecordernumberfile).zfill(5)
FullSoundFileName = SoundRecordFolder+os.sep+SoundFileName+TipoDeArchivoSonido
if sys.platform[0:3]=="win":
if win32TerminateProcessLoaded:
soundrecorderpid =
subprocess.Popen(['SoundCapture\SoundCapture.exe','/wav','/mono','/m','240',FullSoundFileName],creationflags=CREATE_NEW_PROCESS_GROUP)
else:
soundrecorderpid =
subprocess.Popen(['arecord','-f','S16_LE','-c1','-r44100',
FullSoundFileName])
soundrecordernumberfile += 1
else:
debug('Start Recording: Ya se esta grabando un archivo de sonido')
def stopsoundrecorder():
"""Stop Recording"""
debug('Stop Recording: '+NombreArchivoSonido)
global soundrecorderpid
if soundrecorderpid and SoundRecorder:
if sys.platform[0:3]=="win":
if win32TerminateProcessLoaded:
# Terminate the process using pywin32
GenerateConsoleCtrlEvent(CTRL_BREAK_EVENT,soundrecorderpid.pid)
else:
os.kill(soundrecorderpid.pid,15)
soundrecorderpid = 0
else:
debug('Stop Recording: No se esta grabando un archivo de sonido')
def restartsoundrecorder():
debug('Restart Recording')
if SoundRecorder:
stopsoundrecorder()
startsoundrecorder()
--
Yo uso software libre - I use freedom-based software
More information about the pyar
mailing list