Question Processus qui plante?

Plus d'informations
il y a 17 ans 1 mois #3982 par Eric
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,

No pain,no gain.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 1 mois #3985 par Laurent Dardenne
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:

Si quelqu'un a une idée des causes, je suis prenneur !

Sans connaître l'environnement ça va pas être facile :(
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.

Plus d'informations
il y a 17 ans 1 mois #3987 par Eric
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 :pinch:

No pain,no gain.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
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

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 1 mois #3993 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Processus qui plante?
tofu écrit:

Une fois les commandes déroulées, le process se termine de lui même...

En théorie oui.
tofu écrit:

Oui, justement j'ai reproduis la même chose avec la même imbrication.

Je pense que le soucis vient de cette manière de faire, exécute PS avec la commande start.
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
Propulsé par Kunena