Jeśli uruchomię polecenie z dużą ilością danych wyjściowych w tmux, ale zdecyduję się je anulować za pomocą Ctrl-C, opóźnienie wynosi 10-15 sekund. Jeśli jednak zrobię to samo poza tmux, natychmiast się zatrzyma. Dlaczego tak jest i czy można to naprawić?
W praktyce ten problem pojawia się, gdy robię grep -R
duży katalog, a moje wyszukiwanie nie jest wystarczająco ograniczone. Obejściem tego problemu byłoby przesunięcie wyniku w wc
pierwszej kolejności, aby upewnić się, że wynik nie jest zbyt długi, ale to tylko kolejny krok, którego chciałbym uniknąć.
Uwagi:
- Zachowuje się tak samo w Gnome Terminal, uxterm, st i zwykłym wirtualnym terminalu (np. Ctrl-alt-f2), ale opóźnienie jest mniejsze w zwykłym wirtualnym terminalu.
- Nie jestem jedyny: http://www.mail-archive.com/tmux-users@lists.sourceforge.net/msg01569.html
- Opóźnienie jest dłuższe, jeśli moje okno terminala jest większe. W przypadku terminala pełnoekranowego zatrzymanie
grep -R
(bez innych argumentów) zajmuje około 15 sekund w zaśmieconym katalogu domowym. W przypadku terminala o wymiarach 80 × 25 zatrzymuje się niemal natychmiast.
grep -R "a" ~/
(nie zapisuję do pliku) ... ayes | nl | cut -f1 | head -9999999 > ~/file
potemcat ~/file
.