Как я могу немедленно остановить вывод кота, несмотря на массивный вывод?

9

Я ищу способ остановить вывод на STDOUT, когда я понимаю, что команда неверна. Например, если я случайно кошка очень большой файл. Обычно это в конечном итоге останавливается, если вы удерживаете ctrl+c , но это занимает много времени.

Есть ли способ остановить вывод быстрее?

CHK
источник

Ответы:

10

Вы можете запустить ctl-z, чтобы создать фон, а затем убить PID.

$ ctl z (для фона)

$ kill -9 {pid} 'процесса, который только что появился'

user30141
источник
1
Зачем ты это делаешь, kill -9если в этом нет необходимости?
benjwadams
2

Часто данные уже отправлены на дисплей, и «долгое время» - это терминал, пытающийся отобразить данные. Ничего не поделаешь для выполнения задачи (т. Е. Ctrl+ ZИли Ctrl+ C), вам понадобится либо более быстрый терминал, либо что-то еще для буферизации данных.

Я передаю большие выходные данные lessи в tailзависимости от того, хочу ли я просмотреть верх или низ файла, так как оба позволяют мне легко контролировать объем данных, отправляемых на терминал, и закрывать программу, если это не то, что я хочу.

Дарт Андроид
источник
1

Переключение на другой терминал (через CTRL+ , F1чтобы F6в текстовом режиме, или открыть новое окно в screenчерез CTRL+ A, C) после нажатия либо CTRL+ Zили CTRL+ Cвызовет оригинальный терминал пропустить пытаюсь сделать все символы перевода строки и перейти непосредственно к последней строке вывода в более короткие сроки

Тобиас Кинцлер
источник
Работает ли это, когда "длительное время" вывод поступает в сетевой буфер и занимает много времени для передачи всего текста на принимающий терминал? Если да, то как можно достичь того же, скажем, в терминаторе? Я переключаюсь на другую вкладку и ничего. С другой стороны, если я убью сессию ssh, используя ~. тогда это немедленно останавливается. Я бы предпочел не убивать сессию, хотя.
vontrapp
@vontrapp Хороший вопрос (который, вероятно, стоит нового вопроса ). Я предполагаю, что это не сработает, но по SSH для длительных процессов, использующих tmuxили screenвсегда
являющихся
0

Вы должны быть в состоянии передать это moreилиless

cat large_file.txt | less

В этот момент вы можете пролистать ответ и выйти с :q

Вы также можете использовать, grepчтобы помочь разобраться в вашем ответе, если вы ищете конкретную ошибку / проблему.

http://www.westwind.com/reference/os-x/commandline/pipes.html

Джон Лиллард
источник
1
ЧК поинтересовался ситуацией с УЖЕ запущенным процессом. Вы не можете использовать меньше / больше в этом случае.
сентябрь
Хотя это и не ответ на прямой вопрос, это имеет значение в том смысле, что оно говорит о том, как избежать ситуации до того, как это произойдет.
TecBrat