Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/09/2008, 06:22
tanomarchi
 
Fecha de Ingreso: septiembre-2008
Mensajes: 2
Antigüedad: 15 años, 7 meses
Puntos: 0
Ejecutar comando con exec() o System() en segundo plano

Hola a todos, hace rato que busco la siguiente solucion para un problema pero no encuentro nada.

Con la funcion exec o system corro un comando determinado (en este caso es un scp de servidor a servidor) el tema es que el comando anda perfecto solo que no encuentro la manera de que corra en segundo plano para poder continuar corriendo el php en cuestion. Busque por todos lados pero no encuentro ninguna respuesta mas que agregarle & al final del comando, que dicho sea de paso, funciona desde la consola perfectamente pero desde php no me anda. Probe con el comando nohup de unix y tampoco. Todos quedan esperando que termine de ejecutar el comando.
la linea del codigo es asi:

$copia = exec("sudo scp -rp xserver:/home/pepe/pepe.gz /home/pepe/";

en la ayuda de exec o de system dice que si se quiere que el comando corra en segundo plano es necesario enviarlo a un archivo para que no se detenga y continue la ejecucion de php pero tambien probe con la salida estandar y tampoco funciono ($copia = exec("sudo nohup scp -rp xserver:/home/pepe/pepe.gz /home/pepe/ > copia";

Cabe destacar que no es problema en unix ya que entre maquinas hay claves publicas y privadas para que no pida contraseñas y todo eso...

Espero que alguien conosca alguna idea para darme,
Muchas Gracias.