PHP: получить PID определенного процесса - PullRequest
0 голосов
/ 01 ноября 2010

У меня есть окно QNAP, которое запускает разновидность Linux, и у меня возникают проблемы с получением PID процесса с использованием сценария php.Что у меня пока есть:

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

Если я запускаю команду через PUTTY, я получаю:

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

Что я делаю не так?

Спасибо,

Кристиан.

Ответы [ 2 ]

2 голосов
/ 01 ноября 2010

Оболочка обычно не печатает PID процесса, который она запускает в фоновом режиме, если она не является интерактивной.В противном случае вы получите тонны вывода при загрузке только из PID всех запущенных процессов.

Так что вам нужно заставить оболочку печатать PID.Do

 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);
1 голос
/ 01 ноября 2010
...