2010-11-01 5 views
0

J'ai une boîte QNAP, qui fonctionne sous Linux et j'ai des problèmes pour obtenir le PID d'un processus en utilisant un script php. Ce que j'ai jusqu'à présent:PHP: obtenir le PID d'un processus spécifique

$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 je lance la commande par PUTTY, je reçois:

[~] # 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'est-ce que je fais mal?

Merci,

Cristian.

Répondre

2

La coque n'a pas normalement imprimer le PID d'un processus, il commence en arrière-plan, à moins que c'est interactif. Sinon, vous obtiendrez des tonnes de sortie pendant le démarrage, à partir des PID de tous les processus qui démarrent.

Vous devez donc faire en sorte que le shell imprime le PID. Ne

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); 
+0

Merci Martin, fonctionne parfaitement. – Chris19

+0

aucune idée pourquoi le code d'ici ne fonctionne pas correctement? http://stackoverflow.com/questions/4133570/php-foreach-problem-with-a-script est une extension du code que vous m'avez aidé il y a quelques temps. – Chris19

1
+0

Merci, j'ai regardé cela aussi mais je ne pouvais pas comprendre comment l'utiliser. – Chris19

+0

Quel est le problème spécifique à l'appel d'une fonction sans paramètres? Combien de façons différentes de l'utiliser avez-vous? –

+0

En guise de suivi: le PO ne veut pas le PID du processus PHP, mais le PID du processus que exec démarre en arrière-plan. –

Questions connexes