L'invite de commande se bloque jusqu'à ce que vous appuyiez sur une touche?

36

Problème:

Pour une raison quelconque, mon invite de commande se bloque de temps en temps jusqu'à ce que j'appuie sur une touche aléatoire, et elle continue de fonctionner comme si de rien n'était.

Occurrence:

Cela se produit lorsque j'exécute une longue opération (comme la création / compilation de code). Lorsqu'il se bloque, il ne donne aucune indication sur ce qui se passe et ne m'invite pas à appuyer sur une touche.

La description:

  1. Après quelques minutes, le terminal arrête d'imprimer la progression et se bloque.
  2. J'avais pensé qu'il était simplement bloqué sur une partie très longue du processus de compilation, mais après quelques heures, il était toujours bloqué au même endroit.
  3. J'ai appuyé sur une touche aléatoire, et elle a soudainement sauté en arrière et a continué à cracher des indicateurs de progrès et a continué à fonctionner.

Après cela, des événements similaires se sont produits plusieurs fois au cours de longs processus, tels que la copie de fichiers.

Cela s'est produit sur plusieurs appareils exécutant Windows 7. Cela s'est également produit sur ubuntu à l'aide du shell bash.

Razor Storm
la source
2
L'une de ces machines est-elle prête à dormir?
Windos
Non, la machine ne s'endort pas, juste le terminal apparemment. Les machines n'ont pas non plus de mode veille ou de modes basse consommation activés. Et ne sont jamais passés en mode veille pendant toute leur durée de vie (depuis que je les ai achetés / construits)
Razor Storm
Il semble que vous ayez le même problème dans deux environnements complètement différents (Linux et Windows). Vous pourriez donc vous demander ce que ces deux choses ont en commun? S'agit-il du même script / code? Copie sur le même serveur?
Nixphoe
Cela s'est produit plusieurs fois sur plusieurs années sur des tâches complètement différentes. J'ai fait certaines choses dont je me souviens: créer une build au travail, copier des fichiers localement (robocopy sur windows et cp sur linux), rsync sur des serveurs distants, exécuter des scripts batch, etc.
Razor Storm

Réponses:

25

J'ai rencontré le même problème. Les réponses ici et ici indiquent que c'est probablement un problème avec le mode d'édition rapide dans la console. S'il intercepte les clics de souris errants ou si les clics sont transmis par erreur via RDP, par exemple, il peut interrompre involontairement le script. Vous pouvez cliquer avec le bouton droit sur la barre de menus et modifier les propriétés pour désactiver le mode d'édition rapide. Cela, bien sûr, rend plus difficile le copier-coller à partir de la fenêtre CMD.

Tim D
la source
J'ai désactivé le mode d'édition rapide et j'en fais souvent l'expérience dans le nœud. Aucun problème sur Linux. Mais les fenêtres sembleront faire une pause, jusqu'à ce que je ctr C une fois. Cela continue le processus de nœud. On dirait que cela tuerait le processus s'il était vraiment suspendu.
edencorbin
J'ai désactivé le mode d'édition rapide, donc je garderai un œil. Ma solution est de redimensionner mon invite cmd, ou de réduire légèrement la fenêtre du Power Shell - pour que le script npm continue. Très étrange en effet.
shanehoban
1
Je vois ça depuis 20 ans dans les fenêtres. Il est apparu et a disparu à plusieurs reprises ... Je pense que son Microsoft ne fait pas de tests de régression appropriés, car il va et vient toutes les quelques années
gunslingor