A voir également:
- [PHP] Attendre la fin de l'exécution
- Easy php - Télécharger - Divers Web & Internet
- Fin du partage de compte disney + - Accueil - Streaming
- Fin de la 4g - Accueil - Guide opérateurs et forfaits
- Chambre 1408 explication fin - Forum Cinéma / Télé
- Erreur d'execution 1004 ✓ - Forum VB / VBA
4 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
17 sept. 2010 à 14:30
17 sept. 2010 à 14:30
Bonjour,
Le fichier DONE, ce n'est pas le script php qui le fait ? C'est bien ton .bat ?
Dans ce cas, je ne vois pas en quoi la config des timeout de ton serveur web (apache ou php) peut changer quoi que ce soit.
Je pense que ça vient soit du fonctionnement de la commande rsh (vérifie ses arguments possibles), soit d'une config windows/DOS plus générale...
Xavier
Le fichier DONE, ce n'est pas le script php qui le fait ? C'est bien ton .bat ?
Dans ce cas, je ne vois pas en quoi la config des timeout de ton serveur web (apache ou php) peut changer quoi que ce soit.
Je pense que ça vient soit du fonctionnement de la commande rsh (vérifie ses arguments possibles), soit d'une config windows/DOS plus générale...
Xavier
Bonjour et merci de la réponse :-)
Dans mon fichier .bat que je lance en php, j'ai les 3 instructions suivantes (et d'autres, mais qui n'aide pas à la compréhension) :
TYPE NUL>start
rsh [IP_LINUX] -l [USER_LINUX] sh /tmp/bash
TYPE NUL>done
Donc oui c'est le .bat qui crée le fichier DONE.
Je me suis mis à réfléchir plus profondément sur la question... Je crois, comme tu dis, que PHP ou Apache n'ont pas réellement d'impact sur le fonctionnement puisque lorsque l'exécution est interrompu, le fichier DONE est créé, donc la partie PHP se termine correctement.
Pour le rsh... je ne sais pas... parce que ma commande rsh ne sert qu'à partir le bash et après que le bash ait terminé, je fais un autre rsh pour supprimer des fichiers... une commande ftp pour aller chercher des fichiers, mais, puisque l'exécution n'a pas été terminé correctement, les fichiers demandés n'existe pas donc je ne peux aller les chercher. C'est ce qui m'a fait penser que PHP (ou Apache) arrêtait l'exécution.
Maintenant, je suis plus a réfléchir sur la partie Linux... serait-ce elle qui termine l'exécution après 120 secondes ??
Si quelqu'un a une réponse de ce côté ça m'aiderais beaucoup car en ce moment je ne suis pas un expert de Linux !
Merci beaucoup de ta réponse, tu as confirmé certaines choses qui rôdaient dans mon esprit !
Dans mon fichier .bat que je lance en php, j'ai les 3 instructions suivantes (et d'autres, mais qui n'aide pas à la compréhension) :
TYPE NUL>start
rsh [IP_LINUX] -l [USER_LINUX] sh /tmp/bash
TYPE NUL>done
Donc oui c'est le .bat qui crée le fichier DONE.
Je me suis mis à réfléchir plus profondément sur la question... Je crois, comme tu dis, que PHP ou Apache n'ont pas réellement d'impact sur le fonctionnement puisque lorsque l'exécution est interrompu, le fichier DONE est créé, donc la partie PHP se termine correctement.
Pour le rsh... je ne sais pas... parce que ma commande rsh ne sert qu'à partir le bash et après que le bash ait terminé, je fais un autre rsh pour supprimer des fichiers... une commande ftp pour aller chercher des fichiers, mais, puisque l'exécution n'a pas été terminé correctement, les fichiers demandés n'existe pas donc je ne peux aller les chercher. C'est ce qui m'a fait penser que PHP (ou Apache) arrêtait l'exécution.
Maintenant, je suis plus a réfléchir sur la partie Linux... serait-ce elle qui termine l'exécution après 120 secondes ??
Si quelqu'un a une réponse de ce côté ça m'aiderais beaucoup car en ce moment je ne suis pas un expert de Linux !
Merci beaucoup de ta réponse, tu as confirmé certaines choses qui rôdaient dans mon esprit !
Encore moi désolé !
J'ai isolé mon problème... Je fais des telnets à répétitions à partir d'un linux.
Voici mon bash (celui que je lance dans le .bat sur Windows) :
dos2unix /tmp/switchs
for sw in 'cat /tmp/switchs'
do
(sleep 1
echo "username"
echo "password"
echo "terminal length 0"
echo "sh run"
echo "sh vlan"
sleep 4 ) | telnet $sw > /tmp/\$sw.log
done
Je m'explique :
J'ai un fichiers switchs avec les adresses ip de toutes les switchs (55)
Pour chaque "sw" dans le fichier switchs je fais un telnet pour sauvegarder la configuration (terminal lenght 0, sh run, sh vlan). J'ai un Sleep 4 pour laisser le temps au telnet de terminer. Je mets le résultats dans un fichier log portant l'adresse ip comme nom.
Après 23 telnet environ, l'exécution arrête (120 secondes) sans avoir terminé.
Quelqu'un peu m'éclaircir un peu ?? Pourquoi ma boucle for ne se termine pas ??
P.S. : Je crois vraiment que le problème vient de là parce que j'ai essayer de faire un Ping -t en rsh et il a tourné très longtemps, jusqu'à ce que je l'arrête. Donc, du côté rsh, je crois que c'est correct.
J'ai isolé mon problème... Je fais des telnets à répétitions à partir d'un linux.
Voici mon bash (celui que je lance dans le .bat sur Windows) :
dos2unix /tmp/switchs
for sw in 'cat /tmp/switchs'
do
(sleep 1
echo "username"
echo "password"
echo "terminal length 0"
echo "sh run"
echo "sh vlan"
sleep 4 ) | telnet $sw > /tmp/\$sw.log
done
Je m'explique :
J'ai un fichiers switchs avec les adresses ip de toutes les switchs (55)
Pour chaque "sw" dans le fichier switchs je fais un telnet pour sauvegarder la configuration (terminal lenght 0, sh run, sh vlan). J'ai un Sleep 4 pour laisser le temps au telnet de terminer. Je mets le résultats dans un fichier log portant l'adresse ip comme nom.
Après 23 telnet environ, l'exécution arrête (120 secondes) sans avoir terminé.
Quelqu'un peu m'éclaircir un peu ?? Pourquoi ma boucle for ne se termine pas ??
P.S. : Je crois vraiment que le problème vient de là parce que j'ai essayer de faire un Ping -t en rsh et il a tourné très longtemps, jusqu'à ce que je l'arrête. Donc, du côté rsh, je crois que c'est correct.