Pregunta

Bien, llamo a un script de Python en un script PHP. Este script PHP debe continuar después de que se haya llamado el script de Python.

He probado todo lo siguiente, pero PHP insiste en esperar hasta que el guión haya respondido.

Todos probados:-

system('nohup python /home/process/script.py -i '.escapeshellarg($location).' &');
system('nohup python /home/process/script.py -i '.escapeshellarg($location).' 2>&1 &');
system('nohup python /home/process/script.py -i '.escapeshellarg($location).' < /dev/null 2>&1 &');
exec('nohup python /home/process/script.py -i '.escapeshellarg($location).' &');
exec('nohup python /home/process/script.py -i '.escapeshellarg($location).' 2>&1 &');
exec('nohup python /home/process/script.py -i '.escapeshellarg($location).' < /dev/null 2>&1 &');

También probado con Passthru y sin Nohup.

Cualquier ayuda muy apreciada.

¿Fue útil?

Solución

Citando el ejecutor ejecutivo:

Si se inicia un programa con esta función, para que continúe ejecutándose en segundo plano, la salida del programa debe redirigirse a un archivo u otro flujo de salida. No hacerlo hará que el PHP cuelgue hasta que finalice la ejecución del programa.

Deberías probar esto en su lugar:

exec('nohup python /home/process/script.py -i '.escapeshellarg($location).' &>/dev/null &');
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top