En PS v2, tu peux utiliser le cmdlet New-PSSession.
Ce qui te fait une session PS (un seul process) et n PSSession (n runspaces).
Si tu veux recréer un autre process PS, utilise PowerShell.exe -File ...
Voir aussi : PowerShell.exe /?
Version imprimable
Merci. J'avais cherché un peu entretemps, et je suis parti sur :
Wait and see...Code:
1
2
3 $session = New-PSSession Invoke-Command -FilePath "./build.ps1" -Session $session Remove-PSSession $session
Oyé, j'ai finalement trouvé une solution qui marche !! Hyper content qu'il est le romu :ccool:
Au lieu d'avoir un script qui builde tous mes projets avec une grosse boucle, j'ai un script principal qui builde un seul projet.
Ensuite j'ai un 2é script, global, qui fait un boucle et qui appelle le premier en faisant :
Et ça marche nickel, sans tourne depuis 3 jours sans aucun problème d'aucune sorte. Y a pas à dire, ça soulage :mouarf:Code:Start-Process "powershell.exe" -ArgumentList "./build.ps1 <mes arguments>" -WorkingDirectory "<mon dir>" -Wait
La différence est fondamentale : dans le script d'origine, tous les projets sont construits dans la même session PoSH, donc avec énormément d'appels à des process externes (7zip, CVS, java, le tout plusieurs fois) ; maintenant chaque projet est construit dans une session PoSH dédiée qui du coup se trouve bien moins "stressée".
On est d'accord que ça ne règle absolument rien, c'est juste une façon, pas si pourrie d'ailleurs, de contourner le problème qui existe bien sur toujours.
Ok, si tu as le temps précise ce point dans ton post sur MSConnect, on peut suspecter un bug dans PS.
Bah si justement ;)
Loin de moi cette idée, c'est une solution, et mieux vaut être habillé à la six-quatre-deux qu'être c.. nu.