Nếu tôi chạy một lệnh có nhiều đầu ra trong tmux, nhưng quyết định hủy nó bằng Ctrl-C, sẽ có độ trễ 10-15 giây trước khi dừng. Tuy nhiên, nếu tôi làm điều tương tự bên ngoài tmux, nó sẽ dừng ngay lập tức. Tại sao điều này, và nó có thể sửa chữa?
Trong thực tế, vấn đề này xuất hiện khi tôi đang thực hiện grep -R
trên một thư mục lớn và tìm kiếm của tôi không bị hạn chế đủ. Một cách giải quyết khác là đưa kết quả lên wc
trước để đảm bảo đầu ra không quá dài, nhưng đó chỉ là một bước khác tôi muốn tránh.
Ghi chú:
- Điều này có hành vi tương tự trong Gnome Terminal, uxterm, st và một thiết bị đầu cuối ảo đơn giản (ví dụ: ctrl-alt-f2), nhưng độ trễ ít hơn trong thiết bị đầu cuối ảo đơn giản.
- Tôi không phải là người duy nhất: http://www.mail-archive.com/tmux-users@lists.sourceforge.net/msg01569.html
- Độ trễ dài hơn nếu cửa sổ đầu cuối của tôi lớn hơn. Đối với một thiết bị đầu cuối toàn màn hình, phải mất khoảng 15 giây để dừng
grep -R
(không có đối số khác) trong một thư mục nhà lộn xộn. Đối với thiết bị đầu cuối 80 × 25 ký tự, nó dừng gần như ngay lập tức.
grep -R "a" ~/
(không ghi vào tệp) ... vàyes | nl | cut -f1 | head -9999999 > ~/file
sau đócat ~/file
.