0

我有一个 QNAP 盒子,它运行一种 linux 风格,我在使用 php 脚本获取进程的 PID 时遇到问题。到目前为止我所拥有的:

$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

我究竟做错了什么?

谢谢,

克里斯蒂安。

4

2 回答 2

2

shell 通常不会打印它在后台启动的进程的 PID,除非它是交互式的。否则,您将在启动期间仅从所有启动进程的 PID 中获得大量输出。

所以你需要让shell打印PID。做

 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);
于 2010-11-01T08:12:53.333 回答
1

http://nl2.php.net/manual/en/function.getmypid.php

于 2010-11-01T07:42:50.443 回答