Domanda

Ho una scatola QNAP, che gestisce un sapore di Linux e sto avendo problemi per ottenere il PID di un processo utilizzando uno script php. Quello che ho finora:

$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;

Se faccio funzionare l'ordine attraverso PUTTY, ottengo:

[~] # 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

Che cosa sto facendo di sbagliato?

Grazie,

Cristian.

È stato utile?

Soluzione

La shell non stampa normalmente il PID di un processo si avvia in fondo, se non è interattivo. In caso contrario, si potrebbe ottenere tonnellate di uscita durante l'avvio proprio da PID di tutti i processi che iniziare.

Quindi è necessario per rendere il guscio stampare il PID. Fare

 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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top