Was ist Linux für OpenVMS DCL Ctrl/T?

Was ist Linux für OpenVMS DCL Ctrl/T?

AusOpenVMS DCL-Wörterbuch:

Die Funktion Strg/T zeigt eine einzelne Zeile mit statistischen Informationen zum aktuellen Prozess an. Wenn Sie während einer interaktiven Terminalsitzung Strg/T drücken, wird der aktuelle Befehl, die Befehlsprozedur oder das Bild kurzzeitig unterbrochen, um Statistiken anzuzeigen. Die statistischen Informationen umfassen die Knoten- und Benutzernamen, die aktuelle Uhrzeit, den aktuellen Prozess, die CPU-Auslastung, die Anzahl der Seitenfehler, den Grad der E/A-Aktivität und die Speicherauslastung. Beispiel:

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

Was ist Linux für OpenVMS DCL Ctrl/T?

Antwort1

Ich bezweifle ernsthaft, dass es ein exaktes Analogon gibt. Die Natur eines Linux-Prozesses (und folglich der Ausführung eines Befehls) unterscheidet sich so sehr von der Natur eines VMS-Prozesses und der Art und Weise, wie dieser einen Befehl ausführt, dass so etwas nicht wirklich existieren kann.

So wie ich VMS verstehe, liest DCL, wenn Sie einen Befehl wie ausführen TYPE SOMEFILE.TXT, die TYPE.EXE in den Speicher desgleicher VorgangIn diesem Prozess wird DCL ausgeführt, alle von TYPE.EXE benötigten Umlagerungen werden behoben und dann springt es zur ersten Anweisung von TYPE.EXE. Wenn TYPE.EXE seine Arbeit erledigt hat, gibt das Betriebssystem die Kontrolle an den DCL-Code zurück, der sich noch immer im selben Prozess wie TYPE.EXE befindet.

Dieser umfangreiche Prozess, der DCL, eine Tabelle mit lexikalischen Elementen und eine bekannte Sprungtabelle mit Adressen verschiedener Dinge umfasst, ermöglicht die Funktion von Strg-T. Diese Tastenfolge ist nur eine spezielle Form der Tastaturunterbrechung, und der DCL-Code in jedem beliebigen Prozess kann die von Ihnen beschriebene Arbeit ausführen.

Ein Linux-Prozess verfügt nicht immer über eine Shell (DCL-Analogon). Ein Linux-Prozess hat möglicherweise nicht einmal einen im Kernel registrierten Code für die Verarbeitung von Tastaturinterrupts, was bedeuten würde, dass jeder Tastaturinterrupt (Strg-C oder Strg-) den Kernel dazu veranlasst, den Prozess zu beenden.

Antwort2

Die BSD UNIX-Familie unterstützt das SIGINFO-Signal [1] und das VSTATUS-Steuerzeichen [2], das normalerweise an Strg/T gebunden ist. Die Ausgabe sieht folgendermaßen aus:

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

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

Antwort3

Unter Linux unterstützt dd SIGUSR1 für den Status: 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.

Unter BSD unterstützt dd SIGINFO für den Status: https://www.freebsd.org/cgi/man.cgi?query=dd&sektion=1

Wenn dd ein SIGINFO-Signal empfängt (siehe das Statusargument für stty(1)), werden die aktuellen Eingabe- und Ausgabeblockzahlen im gleichen Format wie die Standardabschlussmeldung in die Standardfehlerausgabe geschrieben. Wenn dd ein SIGINT-Signal empfängt, werden die aktuellen Eingabe- und Ausgabeblockzahlen im gleichen Format wie die Standardabschlussmeldung in die Standardfehlerausgabe geschrieben und dd wird beendet.

Übrigens: Das VMS BACKUP-Programm hat eine nette Ausgabe für Control-T.

verwandte Informationen