前へ | 次へ | 目次 | 索引 |
/CAPABILITY
/NOCAPABILITY
プロセス・ユーザ機能マスクのビットを,個々に,グループごとに,またはすべてを一度に,設定あるいはクリアします。この修飾子は,/AFFINITY修飾子と同時に指定することはできません。
注意
指定した CPU が,プロセスが要求する機能を持っていない場合は, SET PROCESS/[NO]CAPABILITYコマンドは失敗します。
/NOCAPABILITY 修飾子は, /PERMANENT 修飾子の設定に基づいて,現在またはパーマネントの機能マスクに現在設定されている,すべてのユーザ機能ビットをクリアします。 /CAPABILITY 修飾子を指定しても直接的な影響はなく,次に示す二次修飾子によって指定される操作の対象を示すだけです。
/SET=( n[,...]) 位置値 nによって定義される,すべてのユーザ機能を設定します。 n は 1 〜 16 です。 /CLEAR=( n[,...]) 位置値 nによって定義される,すべてのユーザ機能をクリアします。 n は 1 〜 16 です。 /PERMANENT カーネル・スレッドの寿命の変更を有効にしながら,パーマネント・ユーザ機能マスク,および現在のユーザ機能マスクの操作を行います。省略時の設定では,実行中のイメージの機能マスクだけが影響を受けます。
/SET パラメータと /CLEAR パラメータで定義したユーザ機能ビットが重複しない限り,二次修飾子はすべてを一度に使用できます。
SET PROCESS/CAPABILITY コマンドを実行するために必要な特権は, $PROCESS_CAPABILITIES システム・サービスを実行するために必要な特権と同じです。 ALTPRI は,すべての修正を行うのに必要な基本的な特権です。また,現在の所有者のカーネル・スレッドを修正するのに必要な唯一の特権です。同一 UIC グループ内での修正には,GROUP 特権が必要です。関係のないカーネル・スレッドの修正には,WORLD 特権が必要です。
SET PROCESS コマンドの他の修飾子を使用した場合と同様に, /IDENTIFICATION 修飾子または明示的プロセス名パラメータを指定しない場合には,ビット操作は現在のプロセスで起こります。プロセス名を指定しても,プロセスに関連するすべてのカーネル・スレッドが影響を受けるわけではありません。 SET PROCESSコマンドが影響を及ぼすのは,マルチスレッド・プロセスの初期カーネル・スレッドだけです。
/CLEAR=(n[,...])
/CAPABILITY または /AFFINITY 修飾子で指定された,位置値nで定義されるすべてのユーザ機能または CPU アフィニティをクリアします。/DUMP[=NOW] [/ID=pid] [プロセス名]
/NODUMP (省略時の設定)
イメージが未処理のエラーのために終了したときに,アドレス空間の内容が SYS$LOGIN:(イメージ名).DMP という名前のファイルに書き込まれるようにします (イメージ名はファイル名と同じです)。ターゲット・プロセスを指定するには,プロセス ID またはプロセス名を指定します。NOW オプションを使用すると,ターゲット・プロセスは可能な限り早い時点でダンプします。これは特にハングしたプロセスに便利です。
その後,ANALYZE/PROCESS_DUMP ユーティリティ,デバッガ,または System Dump Analyzer (SDA) を使ってダンプを分析することができます。
/GLOBAL
グローバル・セル SCH$GL_DEFAULT_CAP を変更します。プロセスが起動されている時に,このグローバル・セルを使用してプロセスのユーザ機能マスクを初期化します。/IDENTIFICATION=pid
自分のプロセス以外の他のプロセスを制御するためには, GROUP 特権またはWORLD 特権が必要です。属性を変更するカーネル・スレッドのプロセス識別(PID)値を指定します。 /IDENTIFICATION 修飾子は, プロセス名パラメータに優先します。
PID は,プロセスが生成されるときにシステムにより割り当てられます。 PIDを指定するときには,先行する 0 は省略できます。
/IDENTIFICATION 修飾子を使用する場合には, プロセス名パラメータは無視されます。
注意
/IDENTIFICATION 修飾子を使用すると,各カーネル・スレッドの PID に SET PROCESS コマンドの影響を及ぼすことができます。各スレッドは,別々の実行可能なエンティティであるため,このコマンドは各スレッドをアフィニティおよび機能に関しては独立しているものとして扱います。
/NAME=文字列
現在のプロセスの名前を,指定した名前に変更することを指定します。文字列パラメータは,1文字から 15 文字までです。/PARSE_STYLE=(キーワード)
ユーザにコマンドの解析方法を指定できるようにします。特定の解析スタイルを設定することにより,DCL のコマンド構文の処理を指定します。ユーザ・プログラムが異なる解析規則を必要とする場合は,この設定状態を検査することもできます。
この修飾子の正しいキーワードは TRADITIONAL および EXTENDED です。これらのキーワードを同時に指定することはできず,いずれか一方を指定しなければなりません。
/PARSE_STYLE 修飾子を指定しない場合,省略時の設定は TRADITIONAL です。
キーワード 説明 TRADITIONAL
(省略時の設定)DCL 構文については,バージョン 7.2 よりも前のバージョンの規則を使用して検証されなければならないことを示します。 EXTENDED
(Alpha のみ)コマンドは,ODS-5 ファイル指定を許可する構文を使用して検証されなければならないことを示します。
EXTENDED 解析規則が有効である場合の DCL の主要な違いは次のとおりです。
- フォーリン・コマンドに渡される引数の大文字と小文字の区別は保存されます。 LIB$GET_FOREIGN を呼び出すことでコマンド文字列を得ることができます。この場合,argc/argv メカニズムを使用する C/C++ プログラムは引用符で囲まれていない小文字の引数を持つことに注意してください。
- 以前にトークンの区切り文字として処理されたいくつかの文字は,現在では区切り文字として使用することができなくなりました。シャープ記号 (#), サーカンフレックス (^),疑問符 (?) がその文字です。
- サーカンフレックス (^) はエスケープ文字であり,コマンド文字列の次の文字は引用符で囲まれているように処理されます。したがって,構文上の意味を持たなくなりました。
また,EXTENDED 解析はファイル指定の DCL 規則,すなわちコマンド定義言語 (.CLD) ファイル内に $FILE タイプを持つ任意の項目を修正します。
- ファイル指定は,大文字だけではなくなります。
- 任意の数のカンマ (,) を,ディレクトリ区切り文字 ([] および <>) の間に置くことができます。
- ディレクトリのファイル ID (DID) を,ファイル指定に含めることができます。
- 任意の数のピリオド (.) あるいはセミコロン (;) を,ファイル指定に含めることができます。
詳細については『 Compaq OpenVMS Extended File Specifications の手引き』を参照してください。
/PERMANENT
カーネル・スレッドの寿命を有効にしながら,現在のマスクと,パーマネントなアフィニティ・マスク,またはパーマネントな機能マスクの操作を行います。省略時の設定では,実行中のイメージの現在のマスクだけが影響を受けます。 /CAPABILITY 修飾子,または /AFFINITY 修飾子と同時に指定した場合のみ, /PERMANENT 修飾子は有効です。/PRIORITY=n
プロセスの優先順位を,指定プロセスの基本優先順位より高い値に変更する場合には,ALTPRI(優先順位変更)特権が必要です。指定したカーネル・スレッドの優先順位を変更します。 ALTPRI 特権を持たない場合には,指定された値が現在の基本優先順位と比較され,常に低い方の値が使用されます。
/PRIVILEGES=(特権[,...])
許可特権マスクに持たない特権をプロセスに許可するためには, SETPRV(特権設定)が必要です。以下のプロセス特権を許可します。
ACNT ALLSPOOL ALTPRI AUDIT BUGCHK BYPASS CMEXEC CMKRNL DETACH DIAGNOSE DOWNGRADE EXQUOTA GROUP GRPNAM GRPPRV IMPORT LOG_IO MOUNT NETMBX OPER PFNMAP PHY_IO PRMCEB PRMGBL PRMMBX PSWAPM READALL SECURITY SETPRV SHARE SHMEM SYSGBL SYSLCK SYSNAM SYSPRV TMPMBX UPGRADE VOLPRO WORLD
どの特権が現在許可されているかを確認するには, SHOW PROCESS/PRIVILEGES コマンドを使用します。
/RAD=HOME=n
プロセスのホーム・リソース・アフィニティ・ドメイン (RAD) を変更します。このコマンドは現在のプロセスに対してのみ使用できます。
OpenVMS アプリケーションのリソース・アフィニティ・ドメイン (RAD) のサポートは, AlphaServer GS160 システム上でのみサポートされていることに注意してください。
/RESOURCE_WAIT
/NORESOURCE_WAIT
プロセスに対して,資源待ちモードを許可することを指定します。 /NORESOURCE_WAIT を指定すると,プロセスはシステム動的メモリを獲得できない場合や,プロセスが資源制限 ( 直接入出力の上限,バッファード入出力の上限,バッファード入出力のバイト数(バッファ空間)制限 ) を超えた場合に,エラー状態コードを受け取ります。
重要
リソース待機の無効化は,関連する共用可能イメージと実行時ライブラリに対して予期しない影響を与える可能性があるので,慎重に行うようにしてください。詳細は,『OpenVMS System Services Reference Manual』の $SETRWM サービスの項を参照してください。
/RESUME
前に実行した SET PROCESS コマンドにより一時停止されているプロセスを,再開することを指定します。/NOSUSPEND を使用するのと同等です。/SCHEDULING_CLASS="クラス名"
/NOSCHEDULING_CLASS
スケジューリング・クラスのプロセスの追加と削除を行います。このコマンドは永久的なクラス・スケジューリング・データベース・ファイルは変更しません。したがって,このコマンドの効果は,スケジューリング・クラスへの一時的な追加または削除と見なすことができます。/SET=(n[,...])
/CAPABILITY または /AFFINITY修飾子によって指定された,位置値nで定義される,すべてのユーザ機能または CPU アフィニティを設定します。/SUSPEND[=SUPERVISOR]
/SUSPEND=KERNEL
/NOSUSPEND
特権を必要とします。この後の説明を参照してください。プロセスの活動を一時的に停止します。他のプロセスがそのプロセスを再開する,またはプロセスが削除されるまで,そのプロセスは一時停止状態のままです。一時停止されているプロセスを再開するには, /NOSUSPEND または /RESUME 修飾子を使用してください。
/SUSPEND 修飾子と同時に次のキーワードを指定すると,それぞれ異なる結果が得られます。
キーワード 結果 SUPERVISOR
(省略時の設定)EXEC または KERNEL モードで非同期システム・トラップ(AST)を通知できるように,指定プロセスを中断することを指定。このキーワードの指定は省略できる。 KERNEL 非同期システム・トラップ(AST)がそのプロセスに送られないように,指定プロセスを中断することを指定。 KERNEL キーワードを指定するには,KERNEL または EXEC モード内にいるか,ユーザにCMKRNL および CMEXEC 特権が許可されている必要がある。バージョン 5.0 以前の VMS では,これがSET PROCESS/SUSPEND 省略時の設定であった。
操作の内容によっては,/SUSPEND 修飾子を指定するプロセスに特権が必要です。たとえば,同じグループの別のプロセスを中断するには (そのプロセスが同じ UIC を持っていない限り)GROUP 特権が必要です。また,システム内の他のプロセスを中断するには,WORLD 特権が必要です。
クラスタ環境で SET PROCESS/SUSPEND=KERNEL/ID= コマンドを使用した場合,ターゲット・プロセスがあるノードと現在のプロセスがあるノードが異なると, KERNEL キーワードは無視されます。その結果,SUPERVISOR キーワードを指定した場合のように,プロセスは一時中断されます(これは省略時の動作です)。
SET PROCESS /SUSPEND=KERNEL を指定して,それ以前のSET PROCESS/SUSPEND=SUPERVISOR との置き換えができます。ただし,逆にSET PROCESS /SUSPEND=KERNEL を SET PROCESS /SUSPEND=SUPERVISOR で変更することはできません。
/SWAPPING (省略時の設定)
/NOSWAPPING
プロセスのスワップを禁止するには, PSWAPM(プロセス・スワップ)特権が必要です。プロセスのスワップを許可します。省略時の設定では,現在実行されていないプロセスは,他のプロセスを実行するためにメイン・メモリから削除されることがあります。 /NOSWAPPING 修飾子を指定すると,待ち状態のときでも,プロセスはバランス・セットからスワップ・アウトされません。
#1 |
---|
$ SET PROCESS/PRIVILEGE=EXQUOTA |
現在のプロセスにクォータ超過(EXQUOTA)特権を与えています。
#2 |
---|
$ SET PROCESS/NORESOURCE_WAIT |
この例では,現在のプロセスに対して資源待ちモードを禁止しています。
#3 |
---|
$ RUN/PROCESS_NAME=TESTER CALC %RUN-S-PROC_ID, identification of created process is 0005002F $ SET PROCESS/PRIORITY=10 TESTER |
この例では,RUN コマンドはサブプロセスを生成し,そのサブプロセスにTESTER という名前を与えます。そのあと,SET PROCESS/PRIORITY コマンドは,このサブプロセスに 10 という優先順位を割り当てます。
#4 |
---|
$ SHOW PROCESS/SUBPROCESS 19-APR-2001 15:17:28.41 User: DAVIS Process ID: 31900218 Node: OCALA Process name: "DAVIS" Processes in this tree: DAVIS * DAVIS_1 DAVIS_2 $ SET PROCESS/SUSPEND DAVIS_1 $ |
この SET PROCESS/SUSPEND コマンドは, AST を送れるようにプロセス DAVIS_1 を一時停止しています。キーワードが指定されていないので, /SUSPEND=SUPERVISOR が仮定されます。
#5 |
---|
$ SHOW PROCESS/SUBPROCESS OCALA::TESTA 19-APR-2001 12:17:24.45 User: TESTA Process ID: 31400208 Node: OCALA Process name: "TESTA" Processes in this tree: TESTA * TESTA_1 TESTA_2 $ SET PROCESS OCALA::TESTA_2 /SUSPEND=KERNEL $ |
この例の SET PROCESS/SUSPEND=KERNEL コマンドは,ノード OCALA 上のプロセス TESTA_2 を一時停止して, AST をこのプロセスに送ることができないようにしています。
#6 |
---|
$ SET PROCESS CPUSCHED/AFFINITY/SET=1/PERMANENT $ SET PROCESS CPUSCHED/CAPABILITY/SET=8/PERMANENT $ SHOW CPU/FULL COBRA7, a DEC 4000 Model 620 Multiprocessing is ENABLED. Streamlined synchronization image loaded. Minimum multiprocessing revision levels: CPU = 1 System Page Size = 8192 System Revision Code = System Serial Number = Default CPU Capabilities: System: QUORUM RUN Default Process Capabilities: System: QUORUM RUN PRIMARY CPU = 00 CPU 00 is in RUN state Current Process: *** None *** Serial Number: AY24870417 Revision: A200 VAX floating point operations supported. IEEE floating point operations and data types supported. Processor is Primary Eligible. PALCODE: Revision Code = 5.48 PALcode Compatibility = 0 Maximum Shared Processors = 2 Memory Space: Physical address = 00000000 00000000 Length = 0 Scratch Space: Physical address = 00000000 00000000 Length = 0 Capabilities of this CPU: System: PRIMARY QUORUM RUN User bitmask: 00000040 Processes which can only execute on this CPU: NETACP PID = 0000008E Reason: PRIMARY Capability CPU 01 is in RUN state Current Process: CPUSCHED PID = 00000095 Serial Number: AY24870406 Revision: A200 VAX floating point operations supported. IEEE floating point operations and data types supported. PALCODE: Revision Code = 5.48 PALcode Compatibility = 0 Maximum Shared Processors = 2 Memory Space: Physical address = 00000000 00000000 Length = 0 Scratch Space: Physical address = 00000000 00000000 Length = 0 Capabilities of this CPU: System: QUORUM RUN User bitmask: 00000080 Processes which can only execute on this CPU: CPUSCHED PID = 00000095 Reason: Affinitized to this CPU Reason: User capabilities - 00000080) $ SET PROCESS/NOAFFINITY/PERMANENT $ SET PROCESS/NOCAPABILITY/PERMANENT $ SHOW CPU/FULL COBRA7, a DEC 4000 Model 620 Multiprocessing is ENABLED. Streamlined synchronization image loaded. Minimum multiprocessing revision levels: CPU = 1 System Page Size = 8192 System Revision Code = System Serial Number = Default CPU Capabilities: System: QUORUM RUN Default Process Capabilities: System: QUORUM RUN CPU 00 is in RUN state Current Process: *** None *** Serial Number: AY24870417 Revision: A200 VAX floating point operations supported. IEEE floating point operations and data types supported. Processor is Primary Eligible. PALCODE: Revision Code = 5.48 PALcode Compatibility = 0 Maximum Shared Processors = 2 Memory Space: Physical address = 00000000 00000000 Length = 0 Scratch Space: Physical address = 00000000 00000000 Length = 0 Capabilities of this CPU: System: PRIMARY QUORUM RUN User bitmask: 00000040 Processes which can only execute on this CPU: NETACP PID = 0000008E Reason: PRIMARY Capability CPU 01 is in RUN state Current Process: CPUSCHED PID = 00000095 Serial Number: AY24870406 Revision: A200 VAX floating point operations supported. IEEE floating point operations and data types supported. PALCODE: Revision Code = 5.48 PALcode Compatibility = 0 Maximum Shared Processors = 2 Memory Space: Physical address = 00000000 00000000 Length = 0 Scratch Space: Physical address = 00000000 00000000 Length = 0 Capabilities of this CPU: System: QUORUM RUN User bitmask: 00000080 Processes which can only execute on this CPU: *** None *** |
この例の CPU 1 は,ユーザ機能 8 が有効です(user mask = 80)。ユーザ機能 8 は,プロセス CPUSCHED の初期カーネル・スレッドに対して設定され, CPU アフィニティは 1 に設定されます。 SHOW PROCESS コマンドの応答からもわかるように,これらのいずれかの設定を行うと,初期カーネル・スレッドは CPU 1 でのみ実行されます。
次に SET PROCESS/NOAFFINITY/NOCAPABILITY コマンドは,プロセス(CPUCHED)の初期カーネル・スレッドに対する,すべての CPU アフィニティおよびユーザ機能の必要条件をクリアします。
前へ | 次へ | 目次 | 索引 |