Rechercher : dans
Par :

Kill processus PHP sous serveur web linux

Dernière réponse le 17 jun 2009 à 22:35:40 new morning, le 19 fév 2009 à 04:48:00 
 Signaler ce message aux modérateurs

Bonjour,

Je suis sur un script de backup automatique qui exécute une boucle infinie du type

<?php

//boucle_infinie.php : ce scipt sauvegarde mon site tous les jours

$une_journee = 60*60*24 ;

function backup ($site_web) {
(etc. etc.) ;
}

while (1) {
backup ($site_web) ;
sleep ($une_journée) ;
}

?>


Ca marche très bien, sauf qu'à un moment donné il peut m'être utile de modifier certains paramètres : comment faire un autre script qui fasse quelque chose du type :

<?php

//kill_boucle_infinie.php : ce scipt arrête boucle_infinie.php

$boucle_infinie = ("boucle_infinie.php") ;
kill ($boucle_infinie) ;

?>


Le tout étant sur un serveur web linux (Apache -PHP -MySQL), je peux aussi utiliser la commande PH system et le kill de linux, sous forme "system (kill PID)" mais comment récupérer le PID dans un script PHP ?

La réponse est peut-être là mais je suis pas sûr de tout comprendre : je voudrais stopper UN processus et il parle de "killal" : http://www.php.net/manual/en/function.shell-exec.php#57215

Meilleures réponses pour « Kill processus PHP sous serveur web linux » dans :
Installation d'un serveur Web sous Linux (Apache, PHP et MySQL) Voir Introduction Un serveur web est un logiciel permettant de rendre accessibles à de nombreux ordinateurs (les clients) des pages web stockées sur le disque. Cette fiche pratique explique comment installer le serveur web Apache sur un système de type...
[Web] Un minuscule serveur web sous Windows VoirLe plus petit serveur web sous Windows: 28 ko ! C'est TinyWeb. Malgré sa petite taille, il fonctionne très bien et il est très rapide. Avantages: Pas d'installation nécessaire (un seul fichier) Ultra-compact (59 ko seulement ! Compacté...
Linux - Administrer les imprimantes via un serveur WEB (CUPS) VoirCUPS (Common Unix Printing System) propose un serveur WEB pour administrer les imprimantes : http://localhost:631/ Ce serveur peut être utile lorsque les outils graphiques proposés par les distributions ne fonctionnent pas.
Freebox et serveur web ou serveur FTP VoirVous souhaitez mettre en place un serveur web ou un serveur FTP (ou tout type de serveur) hébergé sur un ordinateur situé derrière une freebox. Cela est possible, mais plusieurs manipulations sont nécessaires : Configuration du pare-feu...
Télécharger ZazouMiniWebServer VoirZazouMiniWebServer (ZMWS pour les intimes) est un serveur web gratuit, simple et efficace pour windows. ZazouMiniWebServer vous permettra donc de disposer de votre propre serveur web et ainsi par exemple d'héberger votre site internet chez vous....
Introduction à la programmation des CGI VoirPrésentation de l'interface CGI Un script CGI (Common Gateway Interface, traduisez interface de passerelle commune) est un programme exécuté par le serveur web (on dit généralement « côté serveur »), permettant d'envoyer au navigateur de...
Attaques de serveurs web VoirVulnérabilité des services web Les premières attaques réseau exploitaient des vulnérabilités liées à l'implémentation des protocoles de la suite TCP/IP. Avec la correction progressive de ces vulnérabilités les attaques se sont décalées vers les...

1

arth, le 19 fév 2009 à 08:47:07

J'ai une question : le processus que tu lances dans ton php, c'est une procédure PHP c'est ça pour backuper ton site?
Je parle pour ton premier script.
Le loup, solitaire et mystérieux.

Répondre à arth

2

new morning, le 19 fév 2009 à 09:37:00

VIVIVI, c'est bien ça.

Répondre à new morning

3

arth, le 19 fév 2009 à 09:54:00

Alors non tu ne peux pas faire ce que tu souhaites.

En revanche tu peux déposer un script directement sur le serveur unix pour effectuer cette sauvegarde, ce qui sera beaucoup plus pratique.

Puisque ta commande killall fonctionnera, mais tu ne pourrais pas l'employer puisque ton fichier php est exécuter dans apache je suppose, donc pas de processus visible sur ta machine.

Donc pas de killall, en revanche si tu veux utiliser un script, j'en ai un à te proposer.
Le loup, solitaire et mystérieux.

Répondre à arth

4

new morning, le 19 fév 2009 à 10:48:57

Je suis très intéressé par ce script, quelle que soit la réponse à la question suivante.

Ce script nécessite-t-il un accès SSH ou peut-il être executé depuis PHP sous apache/linux ? Le but serait alors de l'utilser depuis un hébergement web mutualisé sans accès SSH.

Répondre à new morning

5

arth, le 19 fév 2009 à 10:50:30

Oui il pourrait mais je crois pas que ton hébergeur te laisse utiliser cette commande.

De plus en mutu tu ne peux pas déposer de script enfin si mais tu ne pourras pas l'exécuter je pense.

Règles de sécurité oblige.
Le loup, solitaire et mystérieux.

Répondre à arth

6

new morning, le 19 fév 2009 à 11:14:23

Bon ben j'essairerai déjà avec le script que tu proposes en local, et puis par la suite je verrais ce qu'il est possible de faire... ou pas, en fonction des sécurités imposées par les hébergements mutualisés.

Répondre à new morning

7

new morning, le 20 fév 2009 à 06:47:43

Une nouvelle piste : http://www.php.net/manual/fr/ref.exec.php

avec notamment proc_open et proc_terminate : si PHP est capable de lancer une appli externe et de la fermer, il doit aussi être capable de lancer un script PHP en boucle et de le stopper sur demande, non ?

Répondre à new morning

8

celiane, le 17 jun 2009 à 22:00:03

APACHE : server-status

Exemple d'une page server-status : http://www.apache.org/server-status

Vous y découvrez le : PID de la requete ;)

après avec : kill PID

pour plus d'information regardez le script shell qui restart apache : /etc/init.d

:)

Répondre à celiane

9

 celiane, le 17 jun 2009 à 22:35:40
Répondre à celiane
Collection CommentÇaMarche.net