OpenVMS用Linux DCL Ctrl / Tとは何ですか?

OpenVMS用Linux DCL Ctrl / Tとは何ですか?

~からオープンな仮想管理システム DCL辞書:

Ctrl / T機能は、現在のプロセスに関する統計を1行で表示します。対話型端末セッション中にCtrl / Tを押すと、現在のコマンド、コマンドプロセス、または画像が一時的に中断され、統計が表示されます。統計には、ノードとユーザー名、現在時刻、現在のプロセス、CPU使用率、ページエラー数、I / Oアクティビティレベル、およびメモリ使用量が含まれます。たとえば、

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

OpenVMS用Linux DCL Ctrl / Tとは何ですか?

答え1

私は正確な類似点が存在するかどうか心から疑います。 Linuxプロセスのプロパティ(およびコマンド実行のプロパティ)は、VMSプロセスのプロパティとコマンドの実行方法とは異なるため、そのようなプロセスは実際には存在できません。

私が理解しているように、VMSは次のコマンドを実行するとTYPE SOMEFILE.TXTDCLがTYPE.EXEをメモリに読み込みます。同じプロセスDCLはその中で実行され、TYPE.EXEに必要な再配置を変更してから、TYPE.EXEの最初のコマンドにジャンプします。 TYPE.EXEが操作を完了すると、オペレーティングシステムはまだTYPE.EXEと同じプロセスにあるDCLコードに制御を返します。

このヘビー級プロセスには、DCL、語彙、およびさまざまなエントリのよく知られたアドレスジャンプテーブルが含まれているため、Ctrl-Tはその操作を実行できます。このキーシーケンスはキーボード割り込みの特別な形式に過ぎず、特定のプロセスのDCLコードは説明されているように実行できます。

Linuxプロセスには常にシェルがあるわけではありません(DCLに似ています)。 Linuxプロセスでは、カーネルにキーボード割り込みハンドラコードが登録されていない可能性があります。これは、キーボード割り込み(Ctrl-CまたはCtrl-)がカーネルにプロセスを終了させることを意味します。

答え2

BSD UNIXファミリは通常、Ctrl / TにバインドされたSIGINFO信号[1]とVSTATUS制御文字[2]をサポートします。出力は次のとおりです。

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

[1] 信号(7) [2] stty(1)

答え3

Linuxでは、ddは状態に対してSIGUSR1をサポートします。 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.

BSD では、dd は SIGINFO 状態をサポートします。 https://www.freebsd.org/cgi/man.cgi?query=dd&sektion=1

ddがSIGINFO(stty(1)のステータスパラメータを参照)信号を受信すると、現在の入出力ブロック数が標準完了メッセージと同じ形式で標準エラー出力に書き込まれます。 dd が SIGINT 信号を受信すると、現在の入出力ブロック数が標準完了メッセージと同じ形式で標準エラー出力に書き込まれ、dd が終了します。

注:VMS BACKUPプログラムはControl-Tに優れた出力を提供します。

関連情報