Quelle script PHP est en cours d execution ?
lostintranslation
Messages postés
8
Statut
Membre
-
lostintranslation Messages postés 8 Statut Membre -
lostintranslation Messages postés 8 Statut Membre -
Bonjour,
En ce moment je cherche a trouver une solution pour connaitre quelle script PHP est utilisé par un processus Apache.
Si je fait un ps -ef | grep apache :
apache 31689 31676 0 12:06 ? 00:00:00 /usr/sbin/apache2 -D PHP5 -D INFO -D LANGUAGE -D LDAP -D AUTH_LDAP -D UMASK -D STATUS -d /usr/lib/apache2 -f /etc/apache2/httpd.conf -k start
Mais cela n indique en rien quelle script est en cours d excution.
Je suis loin d etre un expert PHP ou apache, mais l idée c est juste de trouver quelle script plante et fait prendre des ressources a un processus apache.
fabien
En ce moment je cherche a trouver une solution pour connaitre quelle script PHP est utilisé par un processus Apache.
Si je fait un ps -ef | grep apache :
apache 31689 31676 0 12:06 ? 00:00:00 /usr/sbin/apache2 -D PHP5 -D INFO -D LANGUAGE -D LDAP -D AUTH_LDAP -D UMASK -D STATUS -d /usr/lib/apache2 -f /etc/apache2/httpd.conf -k start
Mais cela n indique en rien quelle script est en cours d excution.
Je suis loin d etre un expert PHP ou apache, mais l idée c est juste de trouver quelle script plante et fait prendre des ressources a un processus apache.
fabien
A voir également:
- Quelle script PHP est en cours d execution ?
- Panne tnt en cours aujourd'hui - Guide
- Script vidéo youtube - Guide
- Votre envoi est en cours d'acheminement ✓ - Forum Consommation & Internet
- Le service spouleur d'impression local n'est pas en cours d'exécution - Guide
- Commande en cours de validation fnac - Forum Consommation & Internet
3 réponses
Bonjour,
Le mieux je pense est effectivement de commencer par lister l'ensemble des processus qui tournent sur la machine.
Idéalement, pour un processus indépendant, je dirai qu'il faudrait récupérer le PID du père et faire un tri ensuite sur l'ensemble des processus actifs par rapport à ce PID (et la colonne PPID des processus actifs pour savoir quels sont ceux qui sont les fils de ton processus père)
Mais je ne suis pas certain que les scipts PHP soient réellement détectés comme des processus machine à part entière, je n'ai jamais eu besoin d'y jeter un oeil, peut-être quelqun peut-il confirmer ?
Une alternative à ce traitement via commande peut être la commande suivante:
pidof "nom du programme"
Par exemple : pidof apache
Mais il faut voir si elle fonctionne sous ton OS, ou si tu peux avoir une équivalent.
Si tout cela ne fonctionne pas, il faut alors te tourner vers un outil apache permettant de te le faire (? supposition)
Le mieux je pense est effectivement de commencer par lister l'ensemble des processus qui tournent sur la machine.
Idéalement, pour un processus indépendant, je dirai qu'il faudrait récupérer le PID du père et faire un tri ensuite sur l'ensemble des processus actifs par rapport à ce PID (et la colonne PPID des processus actifs pour savoir quels sont ceux qui sont les fils de ton processus père)
Mais je ne suis pas certain que les scipts PHP soient réellement détectés comme des processus machine à part entière, je n'ai jamais eu besoin d'y jeter un oeil, peut-être quelqun peut-il confirmer ?
Une alternative à ce traitement via commande peut être la commande suivante:
pidof "nom du programme"
Par exemple : pidof apache
Mais il faut voir si elle fonctionne sous ton OS, ou si tu peux avoir une équivalent.
Si tout cela ne fonctionne pas, il faut alors te tourner vers un outil apache permettant de te le faire (? supposition)
Bonjour,
Comme les scripts php sont interprété, il non pas de PID.
Donc pour le coup c est pas possible par les méthodes classic :pidof,fuser, lsof etc etc ...
Cette question viens du fait qu il environ 30 process Apache qui tourne, il arrive que l un des processus Apache plante ou mange trop de CPU...
Du coup je kill le process Apache.
Mais le vrais probleme c est que je sais pas quelle script a fait planter le processus.
Alors là je suis bien bloquer pour aller faire du de-bug.
Je vais voir un outil cote apache,
En tout cas merci,
FAbien
Comme les scripts php sont interprété, il non pas de PID.
Donc pour le coup c est pas possible par les méthodes classic :pidof,fuser, lsof etc etc ...
Cette question viens du fait qu il environ 30 process Apache qui tourne, il arrive que l un des processus Apache plante ou mange trop de CPU...
Du coup je kill le process Apache.
Mais le vrais probleme c est que je sais pas quelle script a fait planter le processus.
Alors là je suis bien bloquer pour aller faire du de-bug.
Je vais voir un outil cote apache,
En tout cas merci,
FAbien
Ok, mais dans ce cas là, ne peux-tu pas mettre un system de log à l'intérieur de tes scripts PHP te permettant ainsi de voir lequel plante éventuellement ?
S'il ne s'agit pas de tes codes (tu maintiens juste la structure par exemple) tu as peut-être la possibilité de voir avec l'équipe de développement PHP ?
Dans tous les cas, c'est certains que pour tuer les scripts PHP, à moins de trouver une interface d'administration Apache, tu ne pourras (je pense) pas le faire.
Bonne chance.
S'il ne s'agit pas de tes codes (tu maintiens juste la structure par exemple) tu as peut-être la possibilité de voir avec l'équipe de développement PHP ?
Dans tous les cas, c'est certains que pour tuer les scripts PHP, à moins de trouver une interface d'administration Apache, tu ne pourras (je pense) pas le faire.
Bonne chance.