日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
SET CONTROL |
Ctrl/Y と Ctrl/T の機能を許可または禁止します。Ctrl/Y を押したときには,コマンドに割り込みをかけ,制御を DCL に戻します。Ctrl/T を押したときには,コマンドに一時割り込みをかけ,プロセスの統計情報を表示します。SET CONTROL=T コマンドは, SET TERMINAL/BROADCAST コマンドでブロード・キャスト・メッセージがターミナルに表示されるように設定されていなければなりません。
SET CONTROL [=(T,Y)]SET NOCONTROL [=(T,Y)]
(T,Y)
T (Ctrl/T) または Y (Ctrl/Y) の制御機能が,SET CONTROL コマンドによって許可または禁止されることを指定します。いずれか 1 つだけ指定する場合は,括弧は省略できます。省略時の設定は Y です。
Ctrl/Y 機能は,現在の処理からの一般的な脱出機能です。Ctrl/Y 機能は一般に,現在のコマンド,コマンド・プロシージャ,またはプログラム・イメージを中断するために,会話型のターミナル・セッション中で使用することができます。Ctrl/T の出力のカスタマイズSET NOCONTROL=Y コマンドは,特別のアプリケーション・プログラムに使用することができます。SET NOCONTROL=Y コマンドが,ログイン時に特定ユーザのためにシステム特有のコマンド・プロシージャの中で実行される場合,そのユーザは,ターミナルを制御するアプリケーション・プログラムとのみ通信することができます。
SET NOCONTROL=Y が有効な場合に Ctrl/Y を押すと,INTERRUPT メッセージは表示されますが,割り込みは起こりません。 1
SET NOCONTROL=Y は,さらに Ctrl/C 機能のための特別の処理ルーチンを持っていない,すべてのコマンドおよびプログラムに対して, Ctrl/C の取消機能を禁止します。
Ctrl/T 機能は,現在のプロセスに関する統計情報を一行表示します。会話型のターミナル・セッション中に Ctrl/T を押した場合,統計情報を表示するために,現在のコマンド,コマンド・プロシージャ,またはイメージを瞬間的に中断します。統計情報はノード名およびユーザ名,現在の時間,現在のプロセス,CPU の使用状態,ページ・フォルトの数,入出力処理状態のレベル,およびメモリの使用状態を含んでいます。次に例を示します。
BOSTON::SMITH 16:21:04 EDT CPU=00:00:03.33 PF=778 IO=296 MEM=277
SET NOCONTROL=T( 省略時の設定 ) が有効な場合に Ctrl/T を押しても,統計情報は表示されません。
新しいシンボル DCL$CTRLT を定義すると,従来の Ctrl/T の出力を DCL$CTRLT に定義したテキストで補足することができます。このテクニックは,ユーザ・アプリケーションで進捗を示したり,デバッグの目的で使用することができます。
#1 |
---|
$ SET NOCONTROL=Y |
この例では,Ctrl/Y の機能と,Ctrl/C のほとんどの機能を禁止します。
#2 |
---|
$ SET CONTROL=T |
この例では,Ctrl/T の機能を許可します。
#3 |
---|
$ SET NOCONTROL=(T,Y) |
この例では,Ctrl/T と Ctrl/Y の両方の機能を禁止します。
#4 |
---|
$ []Ctrl/T NODE22::SMITH 16:21:04 (DCL) CPU=00:03:29.39 PF=14802 IO=18652 MEM=68 $ SET NOCONTROL=T $ []Ctrl/T |
Ctrl/T キーを押した時に表示されるメッセージを示しています。 SET NOCONTROL=T コマンドは,この機能を禁止しています。したがって,次に Ctrl/T キーを押した時には何も表示されません。
#5 |
---|
$ TYPE CTRLT_LOOP.COM $ inner=0 $ outer=0 $ loop: $ loop1: $ if inner .gt. 20000 then goto end_loop1 $ inner=inner+1 $ dcl$ctrlt=F$FAO("Inner loop count is !SL Outer loop count is !SL" ,inner,outer) $ goto loop1 $ end_loop1: $ inner=0 $ outer=outer+1 $ goto loop $ @CTRLT_LOOP <<Press Ctrl/T>> NODE1::JSMITH 10:46:37 (DCL) CPU=00:03:42.68 PF=13453 IO=6743 MEM=187 Inner loop count is 12306 Outer loop count is 0 NODE1::JSMITH 10:46:43 (DCL) CPU=00:03:49.19 PF=13455 IO=6744 MEM=187 Inner loop count is 19200 Outer loop count is 2 . . . <<Press Ctrl/C>> <<--- To exit the loop. $ SET NOCONTROL=T $ @CTRLT_LOOP <<Press Ctrl/T>> <<Nothing is displayed as CTRL/T is disabled.>> <<Press Ctrl/C>> <<--- To exit the loop. |
この例では,コマンド・プロシージャ内で DCL$CTRLT を使用する例を示しています。このコマンド・プロシージャはループで実行しており,実行したループの反復回数を示すシンボル DCL$CTRLT をアップデートします。
1 DCL は,ターミナル・ドライバに対する待ち状態の Ctrl/Y 非同期システム・トラップ (AST) を維持します。これは,SET HOST コマンドを使用する場合のキャプティブ・コマンド・プロシージャに影響します。詳細は,SET HOST コマンドの説明を参照してください。 |
目次 | 索引 |
|