Parfois, PowerShell cesse d'envoyer des données tant que je n'ai pas appuyé sur Entrée. Pourquoi?

107

Périodiquement, je remarque que PowerShell semble prendre un temps fou pour finir de faire ce que je lui ai dit de faire jusqu'à ce qu'il me vienne de "le réveiller" en appuyant sur Entrée. Ce n’est pas la faute d’un processus, mais j’ai même lancé des applications personnalisées qui enregistrent leur sortie à l’écran toutes les quelques secondes et, même dans ces cas, PowerShell cessera de faire quoi que ce soit jusqu’à ce que je " donner un coup de pied "en appuyant sur Entrée.

Des idées ce qui pourrait causer ceci?

Nathan Ridley
la source
Hou la la! Ceci s'applique également à la nouvelle console Windows (installée de manière silencieuse)!
TamusJRoyce le

Réponses:

145

Si les options QuickEdit Modeet \ ou Insertsont cochées dans les propriétés de la console \ window et que vous cliquez dans la console, la sortie sera suspendue. Si ces options ne sont pas cochées, la sortie ne peut pas être suspendue en cliquant dans la console.

texte alternatif Pour accéder à ces paramètres, cliquez avec le bouton droit sur le logo PowerShell en haut à gauche de la fenêtre de votre terminal, puis sélectionnez "Propriétés" (du moins c'est une façon de le faire).

CurtM
la source
8
Ah, oui, il ne m'est jamais venu à l'esprit qu'un clic sur l'écran pourrait interrompre la sortie. Après avoir effectué quelques tests, cela semble en effet être le problème.
Nathan Ridley
8
OMG Shell échoue.
meawoppl
11
C'est extrêmement ennuyeux :) Une autre fonctionnalité non documentée?
6
littéralement rejoint faute de serveur à upvote, cela faisait des années que je l'observais pour la première fois, mais il n'est jamais devenu un problème assez important pour être examiné; jusqu'à aujourd'hui, je suis encore monté sur ce 'rake' :)
drk
8
Comme drk, j'ai rejoint ce site pour voter: D. Cela a résolu l'un des mystères les plus énervants de ma vie lol.
Janv.
-1

Si vous exécutez un script PowerShell depuis Cygwin, procédez comme suit:

powershell.exe -Command '<...>'

et vous obtenez ce problème, vous pouvez le résoudre en piping dans une nouvelle ligne:

echo | powershell.exe -Command '<...>'
cjfp
la source