2016-03-27 14 views
0

Запуск терминала Linux, у меня есть длительный фоновый процесс tail, который время от времени выводит вывод терминала, чтобы уведомлять меня об изменениях в журнале. Поскольку он находится в фоновом режиме, я хочу иметь возможность запускать его и продолжать работу с терминалом. Однако всякий раз, когда tail выводит, когда я набираю текст, результат вставляет себя после любого текста, который я уже набрал на этой строке, и я должен отказаться от строки и начать все заново. Например, набрав abcdefghijklmnop с tail сообщения Log Updated! дает:Есть ли способ остановить фоновый вывод от взлома входа в терминал Linux?

[email protected]:~$ abcdefghijklmLog Updated!    
nop 
-bash: abcdefghijklmnop: command not found 

Есть ли способ конвейерного tail вывода на печать, сохраняя свою половину рукописного ввода строку? Bash как-то отличает то, что я набирал, и то, что вывод tail, так что есть буфер ввода, который сохранился - есть ли способ иметь tail стереть символы, которые были написаны, напечатаны, а затем напечатать эти символы до стандарта вход?

+0

Запустить его в отдельный терминал (окно)? – wildplasser

+0

Определенно возможно, но тогда уведомления не так полезны или сразу, если я не добавлю «\ a» через 'sed', чтобы сделать звуковое приглашение, что не всегда желательно. Конечно, не конец света просто использовать другой терминал, но я решил, что я буду спрашивать независимо. – HiggstonRainbird

+0

@HiggstonRainbird, по какой причине вы не используете уведомления системы, например. те из вашего оконного менеджера, а не загрязняют терминал? Например, в Gnome 3 они даже придерживались в правом нижнем углу, поэтому вы не можете пропустить их, даже если вы зайдете на перерыв. –

ответ

0

tail не будет делать то, что вы просите, но подсказка о sed полезна. Если вы запустили screen, а процесс tail запущен в другом окне (и проложено через sed, чтобы добавить в конец каждой строки \a ASCII BEL), screenwill notify you in its status line, когда BEL отображается в другом окне.

Я использую это в некоторых сценариях сборки, чтобы напомнить мне, когда выполняется (частично интерактивная) задача.

Менеджер окон менее полезен для такого рода вещей, если ваше соединение с машиной, выполняющей работу, осуществляется через ssh, без GUI.

+0

Это именно то, что мне нужно - я подключен через 'ssh', и это позволит мне контролировать его, не мешая моим входным линиям. На самом деле я могу использовать функциональность с разделенным экраном, а не только уведомления, но в любом случае, 'screen' или' tmux' будут работать. – HiggstonRainbird