9

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

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

4 ответа4

9

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

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

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

2

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

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

1

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

0

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

cat large_file.txt | less

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .