日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
SET PROCESS |
現在のターミナル・セッションまたはジョブについて指定したプロセス,またはカーネル・スレッドの実行属性を変更します。プロセス名を指定していない場合には,現在のプロセスの実行属性が変更されます。グループ内の,またはグループ外の他のプロセスを変更するには,それぞれ GROUP,WORLD 特権が必要です。
SET PROCESS [プロセス名]
プロセス名
指定できるプロセスは,自分の所有するプロセスか,または GROUP 特権を持つ場合には,現在のプロセスと同じグループ UIC を持つプロセスです。属性を変更するプロセスのプロセス名を, 23 文字までの英数字で以下のように指定します。
[ノード名::]プロセス名
- ノード名は,6 文字までの英数字
- コロンは,2 文字に数える
- プロセス名は,最大 15 文字
プロセス名は,リモート・プロセス名のようにも設定可能です。そのため,ATHENS::SMITH と指定された場合には,まずローカル・ノード上で ATHENS::SMITH というプロセスを探し,その後でノード ATHENS 上の SMITHというプロセスを探します。
省略時の設定のプロセスは,現在のプロセスです。
プロセス名は,同一の UIC グループ内でのみ,一意です。自分のグループ外のプロセスをプロセス名で指定することはできません。グループ外のプロセスの属性を変更するためには,/IDENTIFICATION=PID 修飾子を使用します (プロセス名パラメータは無視されます)。プロセス名と /IDENTIFICATION 修飾子のどちらも指定されない場合,現在のプロセスが対象となります。
/AFFINITY (Alpha/Integrity のみ)
/NOAFFINITY
カーネル・スレッド・アフィニティ・マスクのビットを,個々に,グループごとに,またはすべてを一度に,設定あるいはクリアします。この修飾子は,/CAPABILITY修飾子と同時に指定することはできません。
注意
指定した CPU が,プロセスが要求する機能を持っていない場合は, SET PROCESS/[NO]AFFINITY コマンドは失敗します。
/NOAFFINITY 修飾子は,/PERMANENT 修飾子の設定に基づいて,現在のまたはパーマネントのアフィニティ・マスクに現在設定されている,すべてのアフィニティ・ビットをクリアします。 /AFFINITY 修飾子を指定しても直接的な影響はなく,次に示す二次修飾子によって指定される操作のターゲットを示すだけです。
/SET=(n[,...]) CPU ID n によって定義される現在アクティブな CPU に対して,アフィニティ設定します。 n は 0 〜 31 です。 /CLEAR=( n[,...]) 位置値 n によって定義される現在アクティブな CPU に設定されているアフィニティをクリアします。 n は 0 〜 31 です。 /PERMANENT カーネル・スレッドの寿命の変更を有効にしながら,パーマネント・アフィニティ・マスク,および現在のアフィニティ・マスクの操作を行います。省略時の設定では,実行中のイメージのアフィニティ・マスクだけが影響を受けます。
/SET パラメータと /CLEARパラメータで定義したアフィニティ・ビットが重複しない限り,二次修飾子はすべてを一度に使用できます。
SET PROCESS/AFFINITY コマンドを実行するために必要な特権は, $PROCESS_AFFINITY システム・サービスを実行するために必要な特権と同じです。 ALTPRI は,すべての修正を行うのに必要な基本的な特権です。また,現在の所有者のカーネル・スレッドを修正するのに必要な唯一の特権です。同一 UICグループ内での修正には,GROUP特権が必要です。関係のないカーネル・スレッドの修正には,WORLD特権が必要です。
SET PROCESS コマンドの他の修飾子を使用した場合と同様に, /IDENTIFICATION 修飾子または明示的プロセス名パラメータを指定しない場合には,ビット操作は現在のプロセスで起こります。プロセス名を指定しても,プロセスに関連するすべてのカーネル・スレッドが影響を受けるわけではありません。 SET PROCESSコマンドが影響を及ぼすのは,マルチスレッド・プロセスの初期カーネル・スレッドだけです。
/AUTO_UNSHELVE
/NOAUTO_UNSHELVE
プロセスが自動的にファイルをアンシェルブするかどうかを指定します。/NOAUTO_UNSHELVE 修飾子は,別のクラスタでは機能しないことに注意してください。この修飾子が実行できるのは,コマンドの実行元プロセス (省略時設定) を含む同じノードのプロセスに対してのみです。
/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 コマンドが影響を及ぼすのは,マルチスレッド・プロセスの初期カーネル・スレッドだけです。
/CASE_LOOKUP=キーワード
この修飾子の有効なキーワードは,BLIND と SENSITIVE です。プロセス内で大文字と小文字を区別する (SENSITIVE を指定する) ときには注意が必要です。
詳細については,『Guide to OpenVMS File Applications』を参照してください。
/CLEAR=(n[,...])
/CAPABILITY または /AFFINITY 修飾子で指定された,位置値 n で定義されるすべてのユーザ機能または CPU アフィニティをクリアします。/DUMP[=NOW] [/ID=pid] [プロセス名]
/NODUMP (省略時の設定)
未処理のエラーが原因でイメージが終了したときに,アドレス空間の内容が現在の省略時のディレクトリの (イメージ名).DMP という名前のファイルに書き込まれるようにします (イメージ名はファイル名と同じです)。ターゲット・プロセスを指定するには,プロセス ID またはプロセス名を指定します。NOW オプション (Alpha システムおよび Integrity システムでのみ利用可能) を使用すると,ターゲット・プロセスは可能な限り早い時点でダンプします。これは特にハングしたプロセスに便利です。
その後,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 コマンドの影響を及ぼすことができます。各スレッドは,別々の実行可能なエンティティであるため,このコマンドは各スレッドをアフィニティおよび機能に関しては独立しているものとして扱います。
/KERNEL_THREAD_LIMIT=n
プロセスで作成可能なカーネル・スレッド数の上限を変更します。 SYSGEN パラメータ MULTITHREAD の値よりも大きな値を指定した場合,エラー・メッセージが返されます。 0 の値を指定すると,プロセスは MULTITHREAD パラメータで設定されたシステムワイドの上限値を使用します。/NAME=文字列
現在のプロセスの名前を,指定した名前に変更することを指定します。文字列パラメータは,1 文字から 15 文字までです。/PARSE_STYLE=(キーワード)
ユーザにコマンドの解析方法を指定できるようにします。特定の解析スタイルを設定することにより,DCL のコマンド構文の処理を指定します。ユーザ・プログラムが異なる解析規則を必要とする場合は,この設定状態を検査することもできます。
この修飾子の正しいキーワードは TRADITIONAL および EXTENDED です。これらのキーワードを同時に指定することはできず,いずれか一方を指定しなければなりません。
/PARSE_STYLE 修飾子を指定しない場合,省略時の設定は TRADITIONAL です。
キーワード 説明 TRADITIONAL
(省略時の設定)DCL 構文については,バージョン 7.2 よりも前のバージョンの規則を使用して検証されなければならないことを示します。 EXTENDED
(Alpha/Integrity のみ)コマンドは,ODS-5 ファイル指定を許可する構文を使用して検証されなければならないことを示します。
EXTENDED 解析規則が有効である場合の DCL の主要な違いは次のとおりです。
- フォーリン・コマンドに渡される引数の大文字と小文字の区別は保存されます。 LIB$GET_FOREIGN を呼び出すことでコマンド文字列を得ることができます。
argc/argv メカニズムを使用する C/C++ プログラムは,C ランタイムライブラリの論理名 DECC$ARGV_PARSE_STYLE が ENABLE でない限り,引用符で囲まれていない小文字の引数を取ります。 DECC$ARGV_PARSE_STYLE が有効な場合は,プロセスが /PARSE_STYLE=EXTENDED を使用して拡張 DCL 解析を行うように設定されたときに,コマンド行引数で大文字小文字の区別が保存されます。- 以前にトークンの区切り文字として処理されたいくつかの文字は,現在では区切り文字として使用することができなくなりました。シャープ記号 (#),サーカンフレックス (^),疑問符 (?) がその文字です。
- サーカンフレックス (^) はエスケープ文字であり,コマンド文字列の次の文字は引用符で囲まれているように処理されます。したがって,構文上の意味を持たなくなりました。
EXTENDED 解析は,コマンドの定義の中のファイル指定として定義されているパラメータまたは修飾子の DCL 解析規則も変更します。
- ファイル指定は,大文字だけではなくなります。
- 任意の数のコンマ (,) を,ディレクトリ区切り文字 ([] および <>) の間に置くことができます。
- ディレクトリのファイル ID (DID) を,ファイル指定に含めることができます。
- 任意の数のピリオド (.) あるいはセミコロン (;) を,ファイル指定に含めることができます。
詳細については『OpenVMS システム管理者マニュアル (上巻)』を参照してください。
/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) を変更します。このコマンドは現在のプロセスに対してのみ使用できます。
RAD は, AlphaServer GS シリーズ・システムでサポートされ, OpenVMS V8.4 以降は NUMA 対応の Integrity サーバでもサポートされます。
/RESOURCE_WAIT
/NORESOURCE_WAIT
プロセスに対して,リソース待ちモードを許可することを指定します。 /NORESOURCE_WAIT を指定すると,プロセスはシステム動的メモリを獲得できない場合や,プロセスがリソース制限 (直接入出力の上限 (DIOLM),バッファード入出力の上限 (BIOLM),バッファード入出力のバイト数 (BYTLM) のカウントの制限 (バッファ空間) 制限),タイマ・キュー・クォータ,メールボックス・バッファ・クォータ,パイプ・クォータを超えた場合に,エラー状態コードを受け取ります。
重要
リソース待機の無効化は,関連する共有イメージと実行時ライブラリに対して予期しない影響を与える可能性があるので,慎重に行うようにしてください。詳細は,『OpenVMS System Services Reference Manual』の $SETRWM サービスの項を参照してください。
/RESUME
前に実行した SET PROCESS コマンドにより一時停止されているプロセスを,再開することを指定します。/NOSUSPEND を使用するのと同等です。/SCHEDULING_CLASS="クラス名"
/NOSCHEDULING_CLASS
スケジューリング・クラスのプロセスの追加と削除を行います。このコマンドは永久的なクラス・スケジューリング・データベース・ファイルは変更しません。したがって,このコマンドの効果は,スケジューリング・クラスへの一時的な追加または削除と見なすことができます。/SET=(n[,...])
/CAPABILITY または /AFFINITY修飾子によって指定された,位置値 n で定義される,すべてのユーザ機能または CPU アフィニティを設定します。/SSLOG=(STATE={ON | OFF | UNLOAD} [,COUNT=n] [,FLAGS=[NO]ARG])
Alpha システムと Integrity システムでのみ有効です。引数の値をログに記録するためには,CMEXEC,CMKRNL, SETPRV 特権が必要です。 SYSGEN パラメータ SYSSER_LOGGING が有効になっていないと,コマンドはエラーとなります。
ログ・データの出力先としてログ・ファイル (省略時のファイルは SSLOG.DAT) を使用して,システム・サービス・ログの有効/無効を切り替えます。
キーワードは以下のとおりです。
キーワード 説明 COUNT= n ログで使用する P2 空間バッファの数を指定する (省略時の値: 2)。 FLAGS=[NO]ARG サービス引数値をログに記録するかどうかを指定する (省略時の値: ARG)。 ARG を指定するためには,CMEXEC,CMKRNL,SETPRV 特権が必要。 STATE=状態 システム・サービス・ログをオンまたはオフにする。可能な状態は以下のとおり。
ON システム・サービス・ログを有効にする。 OFF システム・サービス・ログを無効 (停止) にする。ただし,再度有効にすることが可能。 UNLOAD ログを停止し,ログ・ファイル (省略時の設定では SSLOG.DAT) をクローズする。
プロセスの SSLOG を有効にするときには,ログで使用するバッファの数を指定することができます。バッファは P2 空間に割り当てられ,プロセスのページング・ファイル・クォータから差し引かれます。各バッファは, 65,02410 バイト (つまり FE0016 バイト) です。バッファ領域は,プロセスが削除されるまで割り当てられたままで,クォータから差し引かれたままとなります。
SSLOG を最初に有効にした後,ログ・ファイルを閉じるまでの間,ログの停止と再開を行うことができます。
プロセスを削除する前に,ログを停止してログ・ファイルをクローズする必要があります。ログ・ファイルは自動的にはクローズされません。
ログ・ファイルを解析するには,DCL コマンド ANALYZE/SSLOG を使用します。このコマンドの説明は,オンライン・ヘルプと,『HP OpenVMS System Analysis Tools Manual』のシステム・サービス・ログの章を参照してください。
/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 キーワードを指定した場合のように,プロセスは一時中断されます (これは省略時の動作です)。
目次 索引
|