J'utilise un script Powershell 1 pour lancer un programme Python, et je veux ensuite mettre le Powershell en pause jusqu'à ce que le Python ait terminé son travail. (J'ai la propriété complète du fichier Python.) Quelle est la meilleure façon d'y parvenir?Comment mettre en pause un script Powershell jusqu'à ce qu'un événement externe se produise?
4
A
Répondre
6
Regardez l'aide sur l'applet de commande Wait-Process:
man Wait-Process -full
start-process notepad -PassThru | Wait-Process
-1
Vous pouvez obtenir l'objet Process ou ID avec la commande get-process pour obtenir l'objet de processus ou vous pouvez l'obtenir comme je l'ai montré ci-dessous soit fonctionnera.
vous pouvez utiliser le PID et appelez
$proc = [System.Diagnostics.Process]::GetProcessById($PID)
while(-not $proc.HasExited) {[System.Threading.thread]::sleep(500) }
Questions connexes
- 1. Mettre en pause un mediaplayer sur un événement
- 2. Attendez jusqu'à ce que l'événement se produise
- 3. Comment mettre en pause un appel setTimeout?
- 4. Mettre en pause un script de serveur SQL?
- 5. Dans Xlib, Comment puis-je animer jusqu'à ce qu'un événement se produise?
- 6. Mettre en pause un storyboard dans WPF?
- 7. Mettre en pause un processus dans Windows
- 8. Qu'est-ce que script: faire en PowerShell?
- 9. UIPickerView n'apparaît pas jusqu'à ce que le contact se produise
- 10. Comment se connecter à joomla via un script externe?
- 11. mettre en pause le lecteur
- 12. Mise à jour d'un événement en supprimant un événement externe
- 13. Comment faire une pause/reprendre un processus externe sous Windows?
- 14. comment mettre en pause et arrêter un changement ImageView
- 15. comment mettre en pause et reprendre un thread surfaceView
- 16. Comment puis-je mettre en pause par programme un NSTimer?
- 17. Mettre en pause une lecture de SourceDataLine
- 18. Utilisation de Powershell pour automatiser un fichier bat qui se termine par PAUSE
- 19. Comment mettre en visibilité: visible sur ce script de diaporama?
- 20. Powershell V2 Aide MAML externe
- 21. Comment implémenter cliquer et mettre en pause/reprendre en flash?
- 22. Comment mettre en œuvre lire ou mettre en pause un flash?
- 23. comment interagir avec un script externe (programme)
- 24. Comment mettre fin à ce client JMS externe?
- 25. Comment appeler un script batch depuis Powershell?
- 26. Jquery Cycle Plugin: événement sur pause/continue?
- 27. mettre en pause et reprendre l'application
- 28. Comment mettre la minuterie en pause dans C#?
- 29. comment mettre en pause la vidéo en utilisant ASIHTTP
- 30. Comment mettre un événement en création dynamique sur flex?
Voici une autre façon: le bloc-notes; (Bloc-notes ps) .WaitForExit() –
Cela fonctionne bien, sauf que -PassThru n'a pas été reconnu. Peut-être parce que j'utilise toujours v1.0? –
Dans ce cas, vous utilisez probablement la version PSCX de Start-Process qui passe par défaut. Bien que, Wait-Process est nouveau dans PowerShell 2.0. Donc, je suppose que vous utilisez 2.0 (si oui, $ psversiontable sera non nul) et que vous obtenez la version PSCX de Start-Process. –