Foros del Web » Programando para Internet » PHP »

Ejecutar comando con exec() o System() en segundo plano

Estas en el tema de Ejecutar comando con exec() o System() en segundo plano en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 08/09/2008, 06:22
 
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.
  #2 (permalink)  
Antiguo 08/09/2008, 09:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ejecutar comando con exec() o System() en segundo plano

Hola tanomarchi,

Busca en el foro es un tema que ya se ha tratado y la forma mas sencilla es usando proc_open y proc_close.

Saludos.
  #3 (permalink)  
Antiguo 08/09/2008, 10:06
 
Fecha de Ingreso: septiembre-2008
Mensajes: 2
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Ejecutar comando con exec() o System() en segundo plano

Muchisimas gracias voy a buscarlo.!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:04.