[Python] Lanciare processo in foreground da un processo in background
Giovanni Marco Dall'Olio
dalloliogm a gmail.com
Mer 13 Giu 2012 18:00:55 CEST
2012/6/13 Valerio Pachera <sirio81 a gmail.com>
> Ciao a tutti, sto creando uno script che lancia mplayer quando si
> verifica una certa condizione.
> Se lancio lo script in foreground, maplayer funziona, altrimenti
> rimane come in sospeso.
> Per eseguire il comando uso il modulo 'commands'.
>
Nota che il modulo commands è deprecato nelle ultime versioni di python:
- http://docs.python.org/library/commands.html
Secondo me devi usare Popen nel modulo subprocess.
Prova per esempio a digitare sull'interprete interattivo di python:
import subprocess
p = subprocess.Popen(['sleep', '10'])
Vedrai che il comando sleep viene lanciato in background, senza bloccare
l'interprete. Non ho capito se è questo quello che chiedi, peró ti dovrebbe
essere utile :-)
Maggiori info:
- http://docs.python.org/library/subprocess.html
> Bastano 2 righe per fare una prova:
>
> ---
> import commands
> commands.getstatusoutput ('mplayer /usr/share/sounds/k3b_success1.wav')
> ---
>
> python -u prova.py
> e
> python -u prova.py &
>
> Ho provato anche a forkare il processo ma ottengo lo stesso risultato
>
> ---
> def play_sound(sound):
> print sound
> commands.getstatusoutput ('mplayer '+ sound )
>
> player = multiprocessing.Process ( target=play_sound,
> args=(/usr/share/sounds/k3b_success1.wav,) )
> player.start()
> ---
>
> Premetto che non sono un programmatore e python lo conosco parzialmente.
>
> Grazie, ciao.
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
--
Giovanni Dall'Olio, phd student
IBE, Institut de Biologia Evolutiva, CEXS-UPF (Barcelona, Spain)
My blog on bioinformatics: http://bioinfoblog.it
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20120613/800e23c9/attachment.html>
Maggiori informazioni sulla lista
Python