<br><br><div class="gmail_quote">2012/6/1 Matteo Perini <span dir="ltr"><<a href="mailto:perini.matteo@gmail.com" target="_blank">perini.matteo@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Il 01/06/2012 09:31, Giovanni Marco Dall'Olio ha scritto:
    <div class="im"><blockquote type="cite">de nada... mi hanno fatto notare che mi sono
      dimenticato le parentesi quadre:<br>
      <br>
         >>> myoutput = subprocess.check_output(['ls', '-a']<br>
      <br>
      <div class="gmail_quote">2012/6/1 Matteo Perini <span dir="ltr"><<a href="mailto:perini.matteo@gmail.com" target="_blank">perini.matteo@gmail.com</a>></span><br>
        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">myoutput =
          subprocess.check_output('ls', '-a')</blockquote>
      </div>
      <br>
    </blockquote></div>
    Si ma quello non è assolutamente un problema ;)<br>
    <br>
    Avrei un altra domanda invece... se posso.<br>
    con subprocess chiamo molte volte in sequenza lo stesso comando e
    non riscontro nessun problema perchè il comando termina prima che
    venga richiamato nuovamente.<br>
    Se però contemporaneamente lo richiamo tramite un "button" della gui
    ottengo errore e si blocca tutto.<br>
    Questo succede perchè all'interno del comando che lancio viene
    richiamata una videocamera che, se è già attiva in un altra istanza
    del programma, risulterà busy. <br>
    C'è un modo per controllare se un programma è in running sul SO?<br>
    E' una cosa che secondo voi posso gestire con try except?<br>
    </div></blockquote><div><br>Io non sono molto esperto di programmazione di sistema, pero mi vengono in mente un paio di  modi per risolvere il problema:<br>
<br>
  * usare un .lock file, ovvero fare in modo che la applicazione crei un
 un file temporaneo quando si avvia e che lo distrugga quando termina. 
Per esempio, firefox usa (o usava) questo sistema.<br>
  * su un sistema unix, lanciare subprocess.check_output("ps aux") e verificare se l'applicazione è in esecuzione<br>  * forse si puó usare anche un try-except, peró potrebbe essere difficile distinguere se la videocamera non risponde perché è occupata o se invece non risponde perché ci sono altri problemi, e.g. non è collegata. <br>


<br>
Probabilmente esistono soluzioni piú eleganti che permettono di definire code di jobs ed eseguire il comando quando la videocamera si libera, peró non ti saprei consigliare una libreria particolare.<br><br><br><br> </div>

<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">Ciao<br>
    e grazie di nuovo.<span class="HOEnZb"><font color="#888888"><br>
    Matteo<br>
  </font></span></div>

<br>_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Giovanni Dall'Olio, phd student<br>IBE, Institut de Biologia Evolutiva, CEXS-UPF (Barcelona, Spain)<br><br>My blog on bioinformatics: <a href="http://bioinfoblog.it" target="_blank">http://bioinfoblog.it</a><br>

<br>