Якщо я запускаю команду з великою кількістю виводу в tmux, але вирішую скасувати її за допомогою Ctrl-C, перед тим, як вона зупиниться, є 10-15 секунд відставання. Однак якщо я те ж саме роблю поза tmux, він негайно зупиняється. Чому це так, і чи можна це виправити?
На практиці ця проблема виникає, коли я працюю grep -R
у великому каталозі, і мій пошук недостатньо обмежений. Вирішення проблеми полягає в тому, щоб wc
спочатку знайти результат, щоб переконатися, що вихід не надто довгий, але це просто ще один крок, якого я хотів би уникнути.
Примітки:
- Ця поведінка має таку саму поведінку у терміналі Gnome, uxterm, st та простому віртуальному терміналі (наприклад, ctrl-alt-f2), але затримка менша у простому віртуальному терміналі.
- Я не єдиний: http://www.mail-archive.com/tmux-users@lists.sourceforge.net/msg01569.html
- Затримка довша, якщо вікно мого терміналу більше. Для повноекранного терміналу потрібно близько 15 секунд, щоб зупинитися
grep -R
(жодних інших аргументів) у захаращеному домашньому каталозі. Для терміналу розміром 80 × 25 він зупиняється майже відразу.
grep -R "a" ~/
(не писав у файл) ... іyes | nl | cut -f1 | head -9999999 > ~/file
потімcat ~/file
.