¿Qué es Linux para OpenVMS DCL Ctrl/T?

¿Qué es Linux para OpenVMS DCL Ctrl/T?

DeAbiertoVMS Diccionario DCL:

La función Ctrl/T muestra una sola línea de información estadística sobre el proceso actual. Cuando presiona Ctrl/T durante una sesión de terminal interactiva, interrumpe momentáneamente el comando, procedimiento de comando o imagen actual para mostrar estadísticas. La información estadística incluye los nombres de nodo y usuario, la hora actual, el proceso actual, el uso de la CPU, el número de errores de página, el nivel de actividad de E/S y el uso de la memoria. Por ejemplo:

BOSTON::SMITH  16:21:04 EDT       CPU=00:00:03.33 PF=778 IO=296 MEM=277

¿Qué es Linux para OpenVMS DCL Ctrl/T?

Respuesta1

Sinceramente dudo que haya un análogo exacto. La naturaleza de un proceso de Linux (y, en consecuencia, de la ejecución de un comando) es tan diferente de la naturaleza de un proceso VMS y de cómo ejecuta un comando que nada como esto puede existir realmente.

Según tengo entendido, VMS, cuando ejecuta un comando como TYPE SOMEFILE.TXT, DCL lee el TYPE.EXE en la memoria delmismo procesoen el que se ejecuta DCL, corrige todas las reubicaciones que TYPE.EXE necesita y luego salta a la primera instrucción de TYPE.EXE. Cuando TYPE.EXE ha hecho su trabajo, el sistema operativo devuelve el control al código DCL que aún reside en el mismo proceso que TYPE.EXE.

Ese proceso pesado, que incluye DCL, una tabla de léxicos y una conocida tabla de salto de direcciones de varias cosas, permite que Ctrl-T funcione. Esa secuencia de teclas es solo una forma especial de interrupción del teclado, y el código DCL en cualquier proceso determinado puede hacer el trabajo que usted describe.

Un proceso de Linux no siempre tiene un shell (análogo DCL). Es posible que un proceso de Linux ni siquiera tenga un código de controlador de interrupciones de teclado registrado en el kernel, lo que significaría que cualquier interrupción del teclado (Ctrl-C o Ctrl-) hace que el kernel provoque la salida del proceso.

Respuesta2

La familia BSD UNIX admite la señal SIGINFO [1] y el carácter de control VSTATUS [2], normalmente vinculado a Ctrl/T. La salida se ve así:

load: 0.12  cmd: cat 13579 [ttyraw] 0.00u 0.00s 0% 880k

[1] señal(7) [2] stty(1)

Respuesta3

En Linux, dd admite SIGUSR1 para el estado: http://man7.org/linux/man-pages/man1/dd.1.html

  Sending a USR1 signal to a running 'dd' process makes it print I/O
  statistics to standard error and then resume copying.

En BSD, dd admite SIGINFO para el estado: https://www.freebsd.org/cgi/man.cgi?query=dd&sektion=1

Si dd recibe una señal SIGINFO (consulte el argumento de estado para stty(1)), los recuentos de bloques de entrada y salida actuales se escribirán en la salida de error estándar en el mismo formato que el mensaje de finalización estándar. Si dd recibe una señal SIGINT, los recuentos de bloques de entrada y salida actuales se escribirán en la salida de error estándar en el mismo formato que el mensaje de finalización estándar y dd saldrá.

Por cierto: el programa VMS BACKUP tiene un buen resultado para Control-T.

información relacionada