Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/04/2008, 14h57   #1
Membre confirmé
 
Chef de projet NTIC
Inscription : avril 2007
Messages : 225
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet NTIC

Informations forums :
Inscription : avril 2007
Messages : 225
Points : 205
Points : 205
Par défaut [Système] Utilisation de nohup en php

Bonjour

Je souhaite pouvoir lancer une commande qui se déconnecte du processus père et qui dès qu'elle est lancé, continu mon script PHP.

Voici mon code:

Code :
1
2
3
4
5
<?php
$cmd = 'php index.php';
exec('nohup '.$cmd. ' >/dev/null 2>&1');
echo "ok";
?>
Mon echo "ok" devrait s'afficher presque directement mais pourtant il attend la fin de l'instruction exec.

Comment faire pour qu'il n'attende pas la fin ?

Merci
gannher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2008, 16h23   #2
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
Ce n'est pas possible directement à ma connaissance. Une solution serait d'ouvrir en javascript une nouvelle fenêtre qui appelle le script contenant ton exec().
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2008, 17h14   #3
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
Sous Linux il me semblait qu'il n'y avait pas de problème, jamais testé mais t'as tenté de lançer la commande en arrière-plan avec & :

Code :
exec($cmd. ' & >/dev/null 2>&1');
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2008, 17h42   #4
Membre confirmé
 
Chef de projet NTIC
Inscription : avril 2007
Messages : 225
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet NTIC

Informations forums :
Inscription : avril 2007
Messages : 225
Points : 205
Points : 205
Bonjour
J'ai essayé ta solution Djakisback mais mallheureusement le script attend la fin d'execution.

Pour la solution de guidav, ce n'est pas possible non plus car le script peut tourner plusieurs heures et donc si le navigateur se ferme... couic

La dolution actuellement a été de créer un fichier texte qui est detecté par un script perl et ce script perl va lancer le PHP mais bon j'aurai bien aimé tout faire en PHP.
gannher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2008, 17h49   #5
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
Je ne suis pas certain que si le navigateur se ferme, couic : c'est la commande apache qui va se terminer, mais si tu as spécifié nohup ou & dans ta commande, ça arrêterait aussi la commande php ?
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2008, 18h02   #6
Membre confirmé
 
Chef de projet NTIC
Inscription : avril 2007
Messages : 225
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet NTIC

Informations forums :
Inscription : avril 2007
Messages : 225
Points : 205
Points : 205
Oui c'est vrai mais par contre le problème de l'attente d'execution est toujours là.
gannher est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h31.


 
 
 
 
Partenaires

Hébergement Web