Используйте следующее tmux.conf
с copy-pipe
в новых версиях tmux (1.8 +):
set -g mouse on
# To copy:
bind-key -n -t emacs-copy M-w copy-pipe "xclip -i -sel p -f | xclip -i -sel c "
# To paste:
bind-key -n C-y run "xclip -o | tmux load-buffer - ; tmux paste-buffer"
prefix+[
в режим копииM-w
скопировать ту часть в системный буфер обменаC-y
вставка это внутри tmux, C-v
вставлять его в другом регулярном применении как веб-браузер.Нет диска i/o (за исключением, возможно, навигации по файловой системе для открытия файла fifo)
Из man-страницы Linux fifo(7):
Специальный файл FIFO (названная труба) похож на трубу, за исключением того, что он доступен как часть файловой системы. [...] Когда процессы обмениваются данными. через FIFO, ядро передает все данные внутри, не записывая их. в файловую систему. Таким образом, специальный файл FIFO не имеет содержания на файловая система; запись файловой системы просто служит в качестве точки отсчета, поэтому что процессы могут получить доступ к конвейеру, используя имя в файловой системе.
На самом деле не имеет значения, является ли ваш результат резервным копированием диска или нет, потому что при наличии достаточного количества памяти он в любом случае будет кэшироваться, и не будет выполнен реальный ввод-вывод диска. Напротив, если память зарезервирована и не хватает, она может быть заменена на диск.
Если бы я догадался, я бы сказал, что канал на самом деле основан на памяти, но тогда это должно изменить только то, сохраняются ли данные из очереди между перезагрузками.
Вы должны позаботиться о том, чтобы, поскольку у вас несколько производителей, ваши записи должны быть атомарными, чтобы они не перемежались в очереди. Смотрите man 7 pipe
для получения подробной информации о том, как гарантировать, что запись является атомарной.