¿Cómo puedo detener la salida de gato inmediatamente a pesar de la salida masiva?

9

Estoy buscando alguna manera de detener la salida a STDOUT cuando me doy cuenta de que un comando está mal. Por ejemplo, si accidentalmente gato un archivo muy grande. Por lo general, finalmente se detendrá si mantiene presionada la tecla ctrl+c , pero lleva mucho tiempo.

¿Hay alguna manera de detener la salida más inmediatamente?

CHK
fuente

Respuestas:

10

Puede ejecutar ctl-z para crear un fondo y luego eliminar el PID.

$ ctl z (para fondo)

$ kill -9 {pid} 'del proceso que acaba de tener antecedentes'

usuario30141
fuente
1
¿Por qué estás kill -9si no es absolutamente necesario?
benjwadams 03 de
2

A menudo, los datos ya se han enviado a la pantalla, y el "tiempo prolongado" es el terminal que intenta mostrar los datos. Hacer algo a la tarea no ayudará (es decir, Ctrl+ Zo Ctrl+ C), necesitará un terminal más rápido o algo para almacenar los datos.

Canalizo grandes salidas lessy taildependiendo de si quiero ver la parte superior o inferior del archivo, ya que ambas me permiten controlar fácilmente la cantidad de datos que se envían al terminal y cerrar el programa si no es lo que quiero.

Darth Android
fuente
1

Cambiar a una Terminal diferente (vía CTRL+ F1a F6en modo de texto, o abrir una nueva ventana en screenvia CTRL+ A, C) después de haber presionado CTRL+ Zo CTRL+ Chará que la terminal original omita el intento de hacer todos los avances de línea y salte directamente a la última línea de salida en un tiempo más corto

Tobias Kienzler
fuente
¿Funciona esto cuando el "largo tiempo" es la salida que va a un búfer de red y tarda mucho en transferir todo el texto al terminal receptor? Si es así, ¿cómo se logra lo mismo en, digamos, terminador? Me cambio a otra pestaña y nada. Por otro lado, si elimino la sesión ssh usando ~. entonces se detiene inmediatamente. Sin embargo, prefiero no matar la sesión.
vontrapp
@vontrapp Buena pregunta (que probablemente valga una nueva pregunta ). Supongo que eso no funcionará, pero a través de SSH para procesos de larga duración que usan tmuxo screensiempre es una recomendación
Tobias Kienzler
0

Debería poder canalizarlo hacia moreoless

cat large_file.txt | less

En ese momento, podría hojear la respuesta y romper con un :q

También puede usarlo greppara ayudar a ordenar su respuesta si está buscando un error / problema específico.

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

John Lillard
fuente
1
CHK preguntando sobre la situación con el proceso ya comenzó. No puedes usar menos / más en este caso.
septiembre
Si bien no es una respuesta a la pregunta directa, tiene valor ya que indica cómo evitar la situación antes de que ocurra.
TecBrat