PHP: obtener PID de un proceso específico
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.
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);
Otros consejos
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow