php shell_exec触发一次作业两次

时间:2014-02-07 12:22:57

标签: php bash curl shell-exec

有一个问题我无法找到确切的问题,或者无论如何我都不知道这是一个问题。

我通过php中的shell_exec执行以下命令。我是用户,我只打过一次电话。

  

curl -o ./server.log --request POST'crawlserver.xxx.local / workerCallback.php'--user-agent'xxx'-- data'workerid = worker1& jobid = 25& offercount = 72&文件= '/路径/到/ XXX-2014-02-07-serialized.txt'

此命令的工作时间为30秒。

当我要求bash为ps aux | grep workerCallback

我看到触发了2个不同的命令,以及不同的进程ID。但是当看到server.log文件时,它正在寻找单个请求,我也检查了db和其他东西,请求单一工作。但是为什么它在命令行中通过不同的pid查看两次,并且命令几乎没有差异。命令之前的“sh -c”是什么。

  

1000 27384 0.0 0.0 4404 612? S 14:00 0:00 sh -c curl -o ./server.log --request POST'crawlserver.xxx.local / workerCallback.php'-user-agent'xxx'-- data'workerid = worker1& jobid = 25& offercount = 72& file = path / to / xxx-2014-02-07-serialized.txt'

     

1000 27385 0.0 0.0 88056 3756? S 14:00 0:00 curl -o ./server.log --request POST crawlserver.xxx.local / workerCallback.php --user-agent xxx --data workerid = worker1& jobid = 25& offercount = 72& file = /路径/到/ XXX-2014-02-07-serialized.txt

1 个答案:

答案 0 :(得分:3)

它的命令不是两次,第一个命令是shell(sh)运行你的curl命令。

第二个是命令本身。

所以你的代码工作正常:)