Necesito para ejecutar otras dos secuencias de comandos de python de otro.
los comandos de este aspecto:

# python send.py

# python wait.py

Esto sucederá en un bucle que se va a dormir durante 1 minuto, a continuación, vuelva a ejecutar.

Antes de ejecutar los comandos para iniciar el resto de los scripts que necesitan para asegurarse de que no están todavía en ejecución.

Has probado a utilizar el módulo subprocess?
¿Por qué no puede usted import los dos scripts y llamar a las funciones dentro de la normalidad?
Debido a que las dos aplicaciones escritas en un idioma diferente en algún momento.
subproceso parece esperar a que la aplicación termine antes de continuar. Necesito ejecutar y seguir adelante.
No, No es así.

OriginalEl autor transilvlad | 2012-09-26

2 Comentarios

  1. 9

    Puede utilizar subproceso.Popen para hacer que, por ejemplo:

    import subprocess
    
    command1 = subprocess.Popen(['command1', 'args1', 'arg2'])
    command2 = subprocess.Popen(['command2', 'args1', 'arg2'])

    si usted necesita para recuperar la salida al siguiente:

    command1.wait()
    print command1.stdout

    Ejemplo de ejecución:

    sleep = subprocess.Popen(['sleep', '60'])
    sleep.wait()
    print sleep.stdout  # sleep outputs nothing but...
    print sleep.returncode  # you get the exit value
    stdout sólo tiene sentido cuando stdout=subprocess.PIPE se pasa a la Popen constructor.

    OriginalEl autor amirouche

  2. 0
    import time
    import commands
    from subprocess import Popen
    
    while True:
      t_ph = commands.getstatusoutput('ps -eo pid,args | grep script1.py | grep -v service | grep -v init.d | grep -v grep | cut -c1-6')
      t_fb = commands.getstatusoutput('ps -eo pid,args | grep script2.py | grep -v service | grep -v init.d | grep -v grep | cut -c1-6')
    
      if t_ph[1] == '':
        r_ph = Popen(["python", "script1.py"])
    
      if t_fb[1] == '':
        r_fb = Popen(["python", "script2.py"])
    
      time.sleep(60)

    o

    import time
    import commands
    from subprocess import Popen
    
    r_ph = False
    r_fb = False
    
    while True:
    
      if r_ph == False:
        r_ph = Popen(["python", "script1.py"])
      else:
        if r_ph.poll():
          r_ph = Popen(["python", "script1.py"])
    
      if r_fb == False:
        r_fb = Popen(["python", "script2.py"])
      else:
        if r_fb.poll():
          r_fb = Popen(["python", "script2.py"])
    
      time.sleep(60)

    esto se podría escribir un poco mejor, pero funciona

    OriginalEl autor transilvlad

Dejar respuesta

Please enter your comment!
Please enter your name here