¿Hay un método abreviado de teclado para pausar la salida de una ventana CMD mientras se está ejecutando?

14

Estoy en el medio de ejecutar un script por lotes que está tardando mucho tiempo y cuya salida pasa a un ritmo ilegible. ¿Existe un método abreviado de teclado que le permita pausar la consola CMD donde está actualmente para detener y leer la salida, y luego reiniciarla nuevamente desde el mismo lugar?

ingrese la descripción de la imagen aquí

Hashim
fuente
55
Siempre hay CTRL-S. Luego CTRL-Q para reiniciar.
BillP3rd
Puede tomar el cuadro de desplazamiento y moverlo hacia arriba, esto pausará efectivamente el desplazamiento. Luego puede presionar la tecla de flecha hacia abajo para moverse al fondo del búfer.
Burhan Khalid el
¿No es este el propósito previsto de la tecla "Bloqueo de desplazamiento"?
TOOGAM

Respuestas:

5

No vi esto en las otras respuestas.

Creo que las secuencias de control en serie de 'Ctrl-S' XOFF y 'Ctrl-Q' XON son las secuencias clave destinadas a resolver el problema.

Por favor mira;

XON / XOFF

NetScr1be
fuente
1
Cambié esto a la mejor respuesta por algunas razones. Según la investigación, la tecla Pausa / Interrupción en su propia detención detiene la salida, pero no la ejecución, que la otra respuesta no menciona. Se debe usar Ctrl + Pausa / Interrupción para detener la ejecución, y esto es un poco más engorroso de escribir en la mayoría de los teclados que Ctrl + S y Ctrl + Q (se puede hacer solo con la mano izquierda). Dicho esto, Ctrl + Pausa / Interrupción tiene la ventaja de que no necesita que recuerdes dos combinaciones de teclas adicionales, por lo que ambas respuestas son buenas, solo me gustaría ver que esta reciba los votos positivos que merece.
Hashim
Tenga en cuenta que aunque esta respuesta genera una pregunta de Unix / Linux, las combinaciones de teclas funcionan bien en CMD.exe, al menos en mi sistema operativo Windows 7.
Hashim
1
@Hashim, gracias por compartir tu investigación. Debido a que usted preguntó específicamente cómo pausar la salida , no consideré (ni probé) esta posibilidad, pero es bueno saberlo. (Voto a favor)
Marc.2377
16

¿Su teclado contiene la Pause/Breakclave? Sería bueno para esto. Así es como se ve, o al menos solía hacerlo:

Pausa Pausa clave de Wikipedia

Como una ventaja interesante, esta clave también se puede usar durante la POST (Prueba de encendido automático, que se ejecuta cuando la computadora está encendida) para leer la salida del BIOS.

Si no tiene esa clave, la combinación Control+ NumLockdebería funcionar igual, y hay otras opciones dependiendo de su fabricante, según Wikipedia .

Para reanudar la ejecución, presione Enter.

Marc.2377
fuente
Tenga en cuenta que en algunos teclados puede tener una tecla de bloqueo de desplazamiento específica (generalmente marcada ScrLk), que puede servir para un propósito similar.
Burhan Khalid
@BurhanKhalid Bueno, leí en ese enlace que detiene la salida , pero no la ejecución , y este efecto parece no aplicarse a la consola de MS Windows ... pero es bueno saberlo de todos modos
Marc.2377
1
Con ping, parece detener la ejecución. eso es muy extraño, ya que ping es un ejecutable discreto. además, cuando está en pausa, el proceso ping.exe permanece en el explorador de procesos hasta que se permite completar. mientras está en pausa, todos sus hilos entran Wait:Executivey no parece pulsar periódicamente. Fascinante.
Frank Thomas
2
Otro truco que me gusta usar es marcar algo de texto con el mouse (siempre tengo habilitado el modo de edición rápida). Eso detiene la salida (y, por lo tanto, la ejecución, ya que un programa que escribe en stdout espera hasta que se escribe la secuencia) también.
THS
1

Puede usar el comando "más". Aunque no es exactamente lo que está buscando, limitará la salida de pantalla por página.

Rooparsh Kalia
fuente
1
Esta es la mejor solución porque pausar la salida en el momento correcto es prácticamente imposible dada la velocidad a la que generalmente se produce la salida. Para aclarar, debe usar una tubería después de su comando seguido de MÁS. Por ejemplo NETSH HTTP SHOW SSLCERT | MÁS
Vincent
Windows no tiene "más" nativo
KumarAnkit
1

Agregando una forma más útil para los shells de Linux . (Pero tal vez también está bien en Windows, ¡pruébalo!)

Presionando ctrl+z colgará el programa. (Mensaje: detenido)

Para ejecutarlo nuevamente en su estado anterior, como si estuviera en pausa:

Tipo fg

O para uso múltiple: nombre_programa_previamente_ctrl + z_stopped `fg

NVRM
fuente
0

Hay un par de otros métodos aquí para agregar, si estamos siendo exhaustivos:

1) Además del botón Pausa / Interrupción, puede duplicar su funcionalidad mediante el uso de "CTRL + C".

Esto hará que la secuencia de comandos cmd haga una pausa y le pregunte si desea finalizarla. Una vez que haya terminado de buscar, puede seleccionar "NO" (o tal vez sí, si le conviene) y continuará (o salir, si elige sí).

2) TAMBIÉN puede pausar usando el mouse haciendo clic en el cursor del mouse en la ventana para seleccionar texto del Terminal CMD.

Es posible que haya notado esta salida de pausa en el pasado y pensó que solo se retrasaría la salida, sin embargo, cuando las secuencias de comandos se ejecutan en instancias de cmd interactivas, realmente está pausando la ejecución del código (lo mismo que con "Pausa / Interrupción" y "CTRL + C "Métodos).

Sin embargo, una vez que la ventana pierda el foco, o haga clic para deshacer las cosas, la ejecución del código continuará y no tendrá la opción de finalizar el código de esta manera.

Ben Personick
fuente
Wow, ustedes son jóvenes. ¿Nunca usó terminales en serie? Prueba Ctrl-s / Ctrl-Q
NetScr1be
El software emulador de terminal generalmente implementa el soporte XOFF / XON como una función básica. Esto generalmente incluye la consola del sistema en máquinas modernas Unix y Linux, así como emuladores GUI como xterm y la consola Win32.
NetScr1be
0

En sistemas Windows, si la pantalla de salida ha habilitado el Modo de edición rápida (por Configuración) simplemente haga clic en la pantalla y seleccione cualquier parte de la pantalla. El programa detendrá la ejecución hasta que haga clic derecho en la pantalla para anular la selección. La pantalla puede perder el foco y continuará congelada hasta que vuelva y haga clic derecho sobre ella. Tenga en cuenta que cualquier contenido del Portapapeles, si lo hay, se puede voltear en esa pantalla cuando hace clic derecho sobre él.

agcala
fuente