Apache lance plusieurs processus en une seule commande

Signaler
Messages postés
1
Date d'inscription
dimanche 5 janvier 2014
Statut
Membre
Dernière intervention
28 octobre 2015
-
Bonjour,
j'aimerais lancer un script python depuis une page web en PHP. le lancement se fait bien, mais le souci c'est qu'apache lance 3 process à chaque fois que je recharge la page au lieu d'en lancer qu'un seul

voici mon code source :

echo shell_exec('whoami') . "<br/>";
echo "before runing <br/>";
$this->showPythonProcess();

$cmd = "python /home/tools/app.py > /dev/null 2>/dev/null &";
$pid = $this->run($cmd);

echo "after runing <br/>";
$this->showPythonProcess();

die();


la fonction showPythonProcess ne fait que lancer shell_exec($cmd) avec $cmd = "ps aux|grep python"


ce qui est étrange dans l'histoire, c'est que les var_dump refletent bien la réalité, mais lorsque je fait la même requete en ligne de commande, je vois 3 process en cours. je ne vois pas d'ou vient le problème

ce que renvoie la page une fois lancée :


pynuts
before runing
string 'pynuts 4975 0.0 0.4 499288 19568 ? S 16:01 0:00 /usr/sbin/apache2 -k start
pynuts 4978 0.0 0.0 4448 748 ? S 16:01 0:00 sh -c ps aux|grep pynuts
pynuts 4979 0.0 0.0 15572 2216 ? R 16:01 0:00 ps aux
pynuts 4980 0.0 0.0 8868 768 ? S 16:01 0:00 grep pynuts
' (length=331)
after runing
string 'pynuts 4975 2.0 0.4 499288 19576 ? S 16:01 0:00 /usr/sbin/apache2 -k start
pynuts 4982 1.0 0.1 34724 7840 ? R 16:01 0:00 python /home/tools/app.py
pynuts 4983 0.0 0.0 4448 784 ? S 16:01 0:00 sh -c ps aux|grep pynuts
pynuts 4984 0.0 0.0 15572 2172 ? R 16:01 0:00 ps aux
pynuts 4985 0.0 0.0 8868 832 ? S 16:01 0:00 grep pynuts
' (length=435)


ce que je vois en lançons la cmd "ps aux |grep python" directement depuis un terminal


boris@boris:/var/www$ ps aux |grep python
boris 2699 0.4 3.0 662608 122896 ? SNl 15:36 0:07 /usr/bin/python3 /usr/bin/update-manager --no-update --no-focus-on-map
boris 2928 0.0 1.1 444244 48452 ? Sl 15:37 0:00 /usr/bin/python3 /usr/share/apport/apport-gtk
pynuts 4982 0.2 0.6 148132 25400 ? S 16:01 0:00 python /home/tools/app.py
pynuts 4990 59.1 1.1 2241376 44540 ? R 16:01 0:48 python /home/tools/app.py
pynuts 4991 4.8 0.6 154256 26828 ? S 16:01 0:03 python /home/tools/app.py
boris 5169 0.0 0.0 15952 2396 pts/13 S+ 16:03 0:00 grep --color=auto python


et la on voit bien qu'il y'a 3 process différents lancés avec le user "pynuts" (j'ai modifié apache pour qu'il lance les processus avec un autre user que ww-data)

une idée ?

merci pour votre aide