Qu'est-ce que Linux pour OpenVMS DCL Ctrl / T?

De OpenVMS DCL Dictionary :

La fonction Ctrl / T affiche une seule ligne d'informations statistics sur le process en cours. Lorsque vous appuyez sur Ctrl / T pendant une session de terminal interactif, il interrompt momentanément la command, la procédure de command ou l'image en cours pour afficher les statistics. Les informations statistics include le nom du nœud et de l'user, l'heure actuelle, le process en cours, l'utilisation du processeur, le nombre de défauts de page, le niveau d'activité des E / S et l'utilisation de la memory. Par exemple:

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

Qu'est-ce que Linux pour OpenVMS DCL Ctrl / T?

Je doute sincèrement qu'il y ait un analogue exact. La nature d'un process Linux (et par conséquent l'exécution d'une command) est tellement différente de la nature d'un process VMS et comment elle exécute une command que rien de tel ne peut réellement exister.

Comme je comprends VMS, lorsque vous exécutez une command comme TYPE SOMEFILE.TXT , DCL lit le file TYPE.EXE dans la memory du même process que DCL s'exécute, corrige tous les transferts dont TYPE.EXE a besoin et puis saute à la première instruction de TYPE.EXE. Lorsque TYPE.EXE a fait son travail, le operating system renvoie le contrôle au code DCL qui réside toujours dans le même process que TYPE.EXE.

Ce process lourd, qui inclut DCL, une table de lexicaux, et une table de saut bien connue des adresses de diverses choses, permet à Ctrl-T de fonctionner. Cette séquence de touches est juste une forme spéciale d'interruption de keyboard, et le code DCL dans un process donné peut faire le travail que vous décrivez.

Un process Linux n'a pas toujours une coquille (DCL analogique) en elle. Un process linux peut ne pas avoir de code de gestionnaire d'interruption du keyboard enregistré avec le kernel, ce qui signifie que toute interruption du keyboard (Ctrl-C ou Ctrl-) amène le kernel à faire sortir le process.

Famille BSD UNIX Supporte le signal SIGINFO [1] et le caractère de contrôle VSTATUS [2], normalement lié à Ctrl / T. La sortie ressemble à ceci:

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

[1] signal (7) [2] stty (1)

Sur Linux, dd prend en charge SIGUSR1 pour le statut: 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. 

Sur BSD, dd supporte SIGINFO pour le statut: https://www.freebsd.org/cgi/man.cgi?query=dd&sektion=1

Si dd reçoit un signal SIGINFO (voir l'argument d'état pour stty (1)), les comptages actuels des blocs d'input et de sortie seront écrits dans la sortie d'erreur standard dans le même format que le message d'achèvement standard. Si dd reçoit un signal SIGINT, le nombre actuel de blocs d'input et de sortie sera écrit sur la sortie d'erreur standard dans le même format que le message d'achèvement standard et dd sortira.

BTW: Le programme VMS BACKUP a une belle sortie pour Control-T.