Pregunta

Tengo una caja de QNAP, que ejecuta una versión de Linux y estoy teniendo problemas para obtener el PID de un proceso que utiliza un script php. Lo que tengo hasta ahora:

$command = "PATH=$PATH:/share/MD0_DATA/.qpkg/Optware/bin: nohup /opt/bin/plowdown -o /share/MD0_DATA/Qdownload/plowshare http://www.megaupload.com/?d=m7duotr1 2> /share/MD0_DATA/Qdownload/plowshare/outputeeds.txt > /dev/null &";
exec($command, $out);
$result = $out[0];
echo $result;

Si funciono con el comando a través de masilla, me sale:

[~] # nohup /opt/bin/plowdown -o /share/MD0_DATA/Qdownload/plowshare http://www.megaupload.com/?d=m7duotr1 2> /share/MD0_DATA/Qdownload/plowshare/outputteeds.txt > /dev/null &
22526

¿Qué estoy haciendo mal?

Gracias,

Cristian.

¿Fue útil?

Solución

El shell no imprime normalmente el PID de un proceso que se inicia en el fondo, a menos que sea interactivo. De lo contrario, se podrían obtener toneladas de salida durante el arranque sólo de los PID de todos los procesos que empezar.

Por lo que necesita para hacer la concha imprime el PID. Hacer

 exec("(PATH=$PATH:/share/MD0_DATA/.qpkg/Optware/bin: " . 
      "nohup /opt/bin/plowdown -o /share/MD0_DATA/Qdownload/plowshare " .
      "http://www.megaupload.com/?d=m7duotr1 2> " . 
      "/share/MD0_DATA/Qdownload/plowshare/outputeeds.txt > /dev/null &);" . 
      "echo $$;", $out);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top