Mais de 1 processos (fundo)

2

No código PHP, tenho o seguinte:

run.php

<?php
shell_exec("php theprocess.php > /dev/null 2>&1 &");
?>

Eu executo o run.php do navegador (por exemplo: link )

Então eu digitei: ps ux

username [~/www/site/test]# ps ux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
username   847  0.0  0.1  23808  7724 ?        R    16:55   0:00 php theprocess.php
username   849  0.0  1.2  89504 53244 ?        R    16:55   0:00 php theprocess.php
username   851  0.0  0.7  89504 31592 ?        R    16:55   0:00 php theprocess.php
username   853  0.0  0.1  23628  4636 ?        R    16:55   0:00 php theprocess.php
username   854  0.0  0.0   2276   824 ?        R+   16:55   0:00 ps ux
username  3880  0.0  0.0  10080  1704 ?        S    16:33   0:00 sshd: username@pts/2
username  3883  0.0  0.0   2676  1368 ?        S    16:33   0:00 -jailshell

Eu não entendo por que ele está mostrando mais de um processo theprocess.php? Eu só executei 1 vez. Eu não executei mais que 1.

Editar:

Além disso, por que ainda está sendo executado em segundo plano? deve terminar theprocess.php terminar a tarefa.

    
por user79590 07.07.2011 / 17:59

1 resposta

1

Eu consertei o problema!

Ao executar o script de um navegador, ele não trata como PHP cli.

Substituir

shell_exec("/usr/bin/php theprocess.php > /dev/null 2>&1 &");

Para

shell_exec("/usr/bin/php-cli theprocess.php > /dev/null 2>&1 &");

Eu não tenho mais várias procissões sendo executadas em segundo plano.

    
por 08.07.2011 / 00:36