Question
Processus qui plante?
- Eric
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 19
- Remerciements reçus 0
il y a 17 ans 1 mois #3982
par Eric
No pain,no gain.
Processus qui plante? a été créé par Eric
Bonjour,
Je me permets de poster ici aujourd'hui car je rencontre un problème qui m'interpelle un peu.
Dans le cadre de la sauvegarde de banques exchange, j'utilise un script qui exécute la sauvegarde dans un dossier en local sur la machine, lance un robocopy pour envoyer cette sauvegarde sur une autre machine, et efface le dossier de sauvegarde local.
Ce script est lancé par un fichier .cmd qui est planifié (avec l'outil de tâches planifiées de windows)
Tout se déroule correctement (logs à l'appui).
Le seul problème réside dans le fait qu'une fois le script déroulé, le processus powershell ne s'arrête pas, ni le processus cmd.
Au bout de plusieurs heures, il arrive que le processus cmd s'arrête, mais que le processus powershell continue de fonctionner. Il arrive également qu'au bout de plusieurs heures, le processus powershell s'arrête lui aussi.
J'ai lancé quelques commandes pour contrôler l'exécution de ces processus, et il en ressort (avec les propriétés style \"Responding\" \"HasExited\" etc) que le processus fonctionne de façon \"normale\" comme si il l'on avait ouvert un shell et qu'il attende qu'on lui passe des commandes.
J'ai également, essayé de reproduire ce dysfonctionnement sans succès...
J'avais pensé à lancer en fin de script une commande stop-process pour forcer l'arrêt du processus powershell, mais je considère ça plus comme du bidouillage qu'autre chose donc je préfère éviter.
Si quelqu'un a une idée des causes, je suis prenneur !
Cordialement,
Je me permets de poster ici aujourd'hui car je rencontre un problème qui m'interpelle un peu.
Dans le cadre de la sauvegarde de banques exchange, j'utilise un script qui exécute la sauvegarde dans un dossier en local sur la machine, lance un robocopy pour envoyer cette sauvegarde sur une autre machine, et efface le dossier de sauvegarde local.
Ce script est lancé par un fichier .cmd qui est planifié (avec l'outil de tâches planifiées de windows)
Tout se déroule correctement (logs à l'appui).
Le seul problème réside dans le fait qu'une fois le script déroulé, le processus powershell ne s'arrête pas, ni le processus cmd.
Au bout de plusieurs heures, il arrive que le processus cmd s'arrête, mais que le processus powershell continue de fonctionner. Il arrive également qu'au bout de plusieurs heures, le processus powershell s'arrête lui aussi.
J'ai lancé quelques commandes pour contrôler l'exécution de ces processus, et il en ressort (avec les propriétés style \"Responding\" \"HasExited\" etc) que le processus fonctionne de façon \"normale\" comme si il l'on avait ouvert un shell et qu'il attende qu'on lui passe des commandes.
J'ai également, essayé de reproduire ce dysfonctionnement sans succès...
J'avais pensé à lancer en fin de script une commande stop-process pour forcer l'arrêt du processus powershell, mais je considère ça plus comme du bidouillage qu'autre chose donc je préfère éviter.
Si quelqu'un a une idée des causes, je suis prenneur !
Cordialement,
No pain,no gain.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 17 ans 1 mois #3985
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Processus qui plante?
Salut,
dans le cmd, avec quelle instruction exécutes-tu PS ?
Tu peux forcer la fin du script avec la commande exit.
tofu écrit:
As-tu essayé de planifier une seconde tâche à l'identique sans toutefois lancer le traitement, juste pour tester l'imbrication de shell.
dans le cmd, avec quelle instruction exécutes-tu PS ?
Tu peux forcer la fin du script avec la commande exit.
tofu écrit:
Sans connaître l'environnement ça va pas être facileSi quelqu'un a une idée des causes, je suis prenneur !
As-tu essayé de planifier une seconde tâche à l'identique sans toutefois lancer le traitement, juste pour tester l'imbrication de shell.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Eric
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 19
- Remerciements reçus 0
il y a 17 ans 1 mois #3987
par Eric
No pain,no gain.
Réponse de Eric sur le sujet Re:Processus qui plante?
En fait, le fichier cmd sert uniquement de lanceur, il contient une ligne de ce type:
[code:1]powershell -command \"& {.\mon-script.ps1}\" [/code:1]
Disons que ce qui m'interpelle, c'est qu'après avoir réalisé des dizaines de scripts (que ce soit en powershell, vbs ou autre), je n'ai jamais eu besoin de forcer explicitement l'arrêt du script. Une fois les commandes déroulées, le process se termine de lui même...
Oui, justement j'ai reproduis la même chose avec la même imbrication. La seule différence est le temps de traitement, car le script utilisé pour la sauvegarde des banques reste actif durant plusieurs heures (le temps de sauvegarder les plusieurs centaines de Go)
Je vais essayer de lancer un traitement de plusieurs heurs que je laisserai tourner cette nuit pour voir si ça peut avoir rapport avec la durée (même si je ne vois absolument pas quel lien il pourrait y avoir)
Donc pour l'instant je vais tester en ajoutant un Exit, mais j'aimerai tout de même arriver à comprendre
[code:1]powershell -command \"& {.\mon-script.ps1}\" [/code:1]
Disons que ce qui m'interpelle, c'est qu'après avoir réalisé des dizaines de scripts (que ce soit en powershell, vbs ou autre), je n'ai jamais eu besoin de forcer explicitement l'arrêt du script. Une fois les commandes déroulées, le process se termine de lui même...
Oui, justement j'ai reproduis la même chose avec la même imbrication. La seule différence est le temps de traitement, car le script utilisé pour la sauvegarde des banques reste actif durant plusieurs heures (le temps de sauvegarder les plusieurs centaines de Go)
Je vais essayer de lancer un traitement de plusieurs heurs que je laisserai tourner cette nuit pour voir si ça peut avoir rapport avec la durée (même si je ne vois absolument pas quel lien il pourrait y avoir)
Donc pour l'instant je vais tester en ajoutant un Exit, mais j'aimerai tout de même arriver à comprendre
No pain,no gain.
Connexion ou Créer un compte pour participer à la conversation.
- Jacques Barathon
- Hors Ligne
- Administrateur
-
Réduire
Plus d'informations
- Messages : 576
- Remerciements reçus 0
il y a 17 ans 1 mois #3988
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Processus qui plante?
Tu pourrais nous poster ton script, histoire qu'on voie ce qui pourrait provoquer la léthargie de PowerShell?
Janel
Janel
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 17 ans 1 mois #3993
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Processus qui plante?
tofu écrit:
tofu écrit:
Si tu exécutes PS dans une console cmd, la console créée par le shell PS utilise la même console tout en lançant un second process si tu supprimes (kill) le process PS, la console redevient une console cmd à l'état \"idle\".
Tu peux essayer de forcer la fin du cdm par Exit ou exécute le cmd avec l'option /C. Ensuite si cela régle le soucis, enlève ce qui te semble redondant.<br><br>Message édité par: Laurent Dardenne, à: 10/02/09 14:30
En théorie oui.Une fois les commandes déroulées, le process se termine de lui même...
tofu écrit:
Je pense que le soucis vient de cette manière de faire, exécute PS avec la commande start.Oui, justement j'ai reproduis la même chose avec la même imbrication.
Si tu exécutes PS dans une console cmd, la console créée par le shell PS utilise la même console tout en lançant un second process si tu supprimes (kill) le process PS, la console redevient une console cmd à l'état \"idle\".
Tu peux essayer de forcer la fin du cdm par Exit ou exécute le cmd avec l'option /C. Ensuite si cela régle le soucis, enlève ce qui te semble redondant.<br><br>Message édité par: Laurent Dardenne, à: 10/02/09 14:30
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.094 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Processus qui plante?