Wiersz polecenia zawiesza się do momentu naciśnięcia klawisza?


36

Problem:

Z jakiegoś powodu mój wiersz polecenia zawiesza się, dopóki nie nacisnę losowego klawisza, i będzie kontynuował działanie, jakby nic się nie wydarzyło.

Występowanie:

Dzieje się tak, gdy uruchamiam długą operację (taką jak kompilacja / kompilacja kodu). Kiedy się zawiesza, nie wskazuje, co się dzieje, ani nie każe mi naciskać żadnego klawisza.

Opis:

  1. Po kilku minutach terminal przestaje drukować postęp i blokuje się.
  2. Myślałem, że po prostu utknął na bardzo długim etapie kompilacji, ale po kilku godzinach wciąż utknął w tym samym miejscu.
  3. Nacisnąłem losowy klawisz, który nagle odskoczył prosto i kontynuował wyrzucanie wskaźników postępu i kontynuował pracę.

Następnie podobne zdarzenia zdarzały się wiele razy podczas długich procesów, takich jak kopiowanie plików.

Stało się tak na wielu urządzeniach z systemem Windows 7. Wystąpiło to również na Ubuntu przy użyciu powłoki bash.


2
Któraś z tych maszyn w ogóle spała?
— Windos

Nie, maszyna nie idzie spać, tylko terminal najwyraźniej. Maszyny również nie mają włączonych trybów uśpienia ani niskiego poboru mocy. I nigdy nie przeszedłem w tryb uśpienia przez całe życie (odkąd je kupiłem / zbudowałem)
— Razor Storm

Wygląda na to, że masz ten sam problem z dwóch zupełnie różnych środowisk (Linux i Windows). Więc możesz zapytać, co te dwie rzeczy mają ze sobą wspólnego? Czy to ten sam skrypt / kod? Kopiujesz na ten sam serwer?
— Nixphoe,

Działo się to wiele razy w ciągu kilku lat w zupełnie innych zadaniach. Niektóre rzeczy, które zrobiłem, które pamiętam: tworzenie kompilacji w pracy, kopiowanie niektórych plików lokalnie (robocopy w systemie Windows i cp w systemie Linux), rsync na zdalnych serwerach, uruchamianie skryptów wsadowych itp.
— Razor Storm

Odpowiedzi:


25

Wystąpił ten sam problem. Odpowiedzi tu i tutaj wskazują, że jest to prawdopodobnie problem z trybem szybkiej edycji w konsoli. Jeśli przechwyci przypadkowe kliknięcia myszą lub jeśli kliknięcia zostaną błędnie przekazane przez RDP, na przykład może przypadkowo wstrzymać skrypt. Możesz kliknąć pasek menu i edytować właściwości prawym przyciskiem myszy, aby wyłączyć tryb szybkiej edycji. To oczywiście utrudnia kopiowanie i wklejanie z okna CMD.


Mam wyłączony tryb szybkiej edycji i często tego doświadczam w węźle. Brak problemów z Linuksem. Ale Windows wydaje się zatrzymywać, dopóki nie naciśniesz klawisza C raz. Kontynuuje to proces węzła. Wygląda na to, że zabiłoby to proces, gdyby naprawdę wisiał.
— edencorbin

Wyłączyłem tryb szybkiej edycji, więc będę miał oko. Moim rozwiązaniem jest zmiana rozmiaru mojego polecenia cmd lub nieco okna powłoki powłoki - aby skrypt kontynuował npm. Rzeczywiście bardzo dziwne.
— shanehoban

1
Widziałem to od 20 lat w systemie Windows. Pojawił się i zniknął wiele razy ... Myślę, że jego Microsoft nie przeprowadza odpowiednich testów regresji, ponieważ przychodzi i odchodzi co kilka lat
— rewolwerowiec
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.