# Compaq OpenVMS
DCL ディクショナリ

前へ | 次へ | 目次 | 索引

# RUN (プロセス)

> 指定したイメージを実行するために，サブプロセスまたは独立プロセスを作成し，イメージの実行終了時にプロセスを削除します。 /UICまたは/DETACHED 修飾子を除く他の修飾子を指定した場合には， RUN コマンドはサブプロセスを作成します。 /UIC または /DETACHED 修飾子を指定し，かつ IMPERSONATE ユーザ特権を持っている場合には，独立プロセスが作成されます。

## 形式

> RUN ファイル指定

## パラメータ

> ### ファイル指定

> 作成された別プロセスで実行される，実行可能イメージのファイル名を指定します。ファイル・タイプが指定されていない場合には，EXE を使用します。ファイル指定には，ワイルドカード文字を使用することはできません。

## 説明

> RUN コマンドは，指定されたイメージを実行するプロセスを作成します。 /UIC または /DETACHED 修飾子を指定すると，独立プロセスが作成されます。そうでない場合は，サブプロセスが作成されます。

> RUN コマンドにいずれかの修飾子を指定した場合，プロセスが作成され， SYS$OUTPUT にプロセス識別 (PID) コードが表示されます。ファイル指定に指定されたイメージが，新しく作成されたプロセスで実行されます。イメージの実行が終了すると，イメージを実行したプロセスは削除されます。

> 省略時の設定では，RUNコマンドは，現在のプロセスと同じ利用者識別コード (UIC)，現在の省略時のディスクおよびディレクトリ，特権，および優先順位を持つサブプロセスを作成します。

> 独立プロセスが異常終了した場合にその理由を知りたいときは， Accounting ユーティリティを使用すると，プロセスの最後の終了状態を表示できます。詳細は，『Compaq OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』を参照してください。

> /DETACHED または /UIC 修飾子を使用すると，独立プロセスが作成されます。別の利用者識別コードで独立プロセスを作成するには，利用者特権 IMPERSONATE または CMKRNL が必要です。独立プロセスを作成すると，次のように資源制限が適用されます。

> - 特定の制限値を指定しない場合，その制限値は，対応する PQL_D* (省略時の設定) システム・パラメータの値になります。

> - 特定の制限値を指定する場合，その値が作成者プロセスの制限値 (最大) およびシステム・パラメータ PQL_M* (最小) と比較されます。指定した値が許容範囲内にある場合，新しいプロセスに使用されます。作成者プロセスの制限値より大きい値を指定すると，作成者プロセスの制限値が使用されます。対応するシステム・パラメータより小さい値を指定すると，システム・パラメータ値が置き換えられます。

> ただし，IMPERSONATE または CMKRNL 特権がある場合は，独立プロセスの制限値を自由に指定できます。

> 入力ストリーム，出力ストリーム，エラー・ストリーム

> 次の修飾子を使用して，プロセスの論理名 SYS$INPUT，SYS$OUTPUT，および SYS$ERROR の等価名を割り当てます。

> > /INPUT
> > /OUTPUT
> > /ERROR

> これらのプロセス・パーマネント・ファイルに指定した等価名は，作成するプロセスのコンテキストで解釈されます。たとえば，省略時のファイル・タイプ，論理名の使用，および変換は，イメージおよび言語によって異なります。

> プロセス属性の定義

> 次の修飾子を使用して，プロセスの省略時の属性を上書きします。

> > /ACCOUNTING
> > /DUMP
> > /PRIORITY
> > /PRIVILEGES
> > /PROCESS_NAME
> > /SERVICE_FAILURE
> > /SWAPPING

> 資源制限の割り当て

> RUN コマンドを入力してプロセスを作成する場合には，プロセスが使用できる各種のシステム資源の合計の制限値を定義できます。サブプロセスを作成するとき，次の資源制限を差し引くことができます。つまり，現在の制限値から指定した値が差し引され，サブプロセスに与えられます。

> 修飾子 | 制限値
> --- | ---
> /TIME_LIMIT | CPUTIME

> サブプロセスが削除されると，制限量が現在のプロセスに返されます。

> システムでは，指定できる制限値ごとに最小値が定義されています。最小値より少ない制限値を指定した場合，または現在の制限値が最小値より少なくなる差し引き可能な制限値を指定した場合は，プロセスを作成できません。現在の制限値を確認するには，SHOW PROCESS/QUOTAS コマンドを入力します。

> また，差し引き不可能な制限値の上限も指定できます。差し引き不可能な制限値は，プロセスとサブプロセスごとに別々に確立され維持されます。次の修飾子は，差し引き不可能な制限値を指定します。

> 修飾子 | 制限値
> --- | ---
> /AST_LIMIT | ASTLM
> /EXTENT | WSEXTENT
> /IO_BUFFERED | BIOLM
> /IO_DIRECT | DIOLM
> /MAXIMUM_WORKING_SET | WSQUOTA
> /WORKING_SET | WSDEFAULT

> 3番目の制限値のタイプは，プーリングです。プールされる制限値は，独立プロセスの作成時に確立されます。プールされる制限値は，そのプロセスとすべての子孫サブプロセスに共有されます。プールされる制限値に対する値は，使用時に現在使用できる合計から差し引かれ，未使用時に合計に戻されます。次の修飾子は，プールされる制限値を指定します。

> 修飾子 | 制限値
> --- | ---
> /BUFFER_LIMIT | BYTLM
> /ENQUEUE_LIMIT | ENQLM
> /FILE_LIMIT | FILLM
> /PAGE_FILE | PGFLQUOTA
> /QUEUE_LIMIT | TQELM
> /SUBPROCESS_LIMIT | PRCLM

> ハイバネートおよびスケジューリングされたウェイクアップ要求

> 次の修飾子を使用して，イメージの実行をスケジューリングします。

> > /DELAY
> > /INTERVAL
> > /SCHEDULE

> いずれかの修飾子を指定すると，RUNコマンドによってプロセスが作成され，ハイバネート状態になります。プロセスは，ウェイクアップされるまでイメージを実行できません。これらの3つの修飾子とともに指定する時間値で，指定されたイメージを実行するためにプロセスをウェイクアップするタイミングを制御します。

> 指定したデルタ時間 (/DELAY 修飾子) または絶対時間 (/SCHEDULE 修飾子) でウェイクアップ要求をスケジューリングできます。/INTERVAL 修飾子を使用すれば，反復時間間隔でウェイクアップ要求をスケジューリングできます。時間間隔を指定すると，作成されたプロセスは，指定されたイメージを実行するために固定時間間隔でウェイクアップされます。 (たとえば，RET 命令で) イメージが正常終了すると，プロセスがハイバネート状態に戻り，スケジューリングされた次のウェイクアップ要求時間を待ち，ユーザ・モード終了ハンドラは呼び出されません。イメージは，次のウェイクアップ時間にエントリ・ポイントで再呼び出しされ，再起動されません。イメージが異常終了した場合，または $EXIT コマンドあるいは $FORCEX コマンドで終了した場合は，プロセスはハイバネートに戻らず，以後のスケジューリング要求が終了し，ユーザ・モード終了ハンドラが呼び出され，イメージが終了し，作成されたプロセスが削除されます。

> 作成されたプロセスに名前を付けるには，/PROCESS_NAME 修飾子を使用します。以後の STOP または CANCEL コマンドでは，このプロセス名を使用できます。 STOP コマンドは，プロセスでのイメージの実行を強制終了し，プロセスを削除します。 CANCEL コマンドは，スケジューリングされているが，まだ実行されていないウェイクアップ要求を取り消します。

## 修飾子

> ### /ACCOUNTING (省略時の設定)

> ### /NOACCOUNTING

> /NOACCOUNTING 修飾子を使用するには， ACNT(会計)特権が必要です。

> /NOACCOUNTING 修飾子は，生成されたプロセスで使用される資源に対して，会計情報の収集を取り止めます。

> 省略時の設定の /ACCOUNTING 修飾子では，効果は何もありません。

> ### /AST_LIMIT=クォータ

> 生成されたプロセスが処理しないまま保持できる，非同期型システム・トラップ(AST)の最大数を指定します。

> AST クォータを指定しない場合には，システム生成時に設定された省略時の値が使用されます。プロセスを実行するには，この値が2以上でなければなりません。

> AST クォータは，プロセス，サブプロセス間で分割されません。

> ### /AUTHORIZE

> ### /NOAUTHORIZE (省略時の設定)

> DETACH 特権が必要です。

> 実行されるイメージが，システム・ログイン・イメージ (LOGINOUT.EXE) である場合に，この修飾子は，独立プロセスが正当なものであるかどうかを確認するために利用者登録ファイル(UAF)を検索します。 /NOAUTHRIZE 修飾子を指定した場合には，コマンド・インタプリタの制御下で実行される独立プロセスを生成します。

> /AUTHORIZE 修飾子を指定した場合には，プロセス所有者の利用者登録ファイル・レコードからクォータを得ます。 RUN コマンドに他のクォータを指定する修飾子を使用した場合でも， UAF のクォータによって無視されます。

> /NOAUTHORIZE 修飾子を指定した場合には，プロセス・クォータを省略時の値に設定するシステム・パラメータ (パラメータ名の最初に PQL_D の付いたもの)からクォータを得ます。

> 独立プロセスの生成時に常に，ログイン・イメージが UAF をチェックするように指定するには， /AUTHORIZE を指定します。 /INPUT 修飾子と /OUTPUT 修飾子によって指定されるプロセス・パーマネント・ファイルは，入出力用にコマンド・インタプリタによって使用されます。

> ### /BUFFER_LIMIT=クォータ

> バッファード I/O 処理，または一時メールボックスの作成のためにプロセスが使用できる，最大メモリ・サイズをバイト数で指定します。

> バッファード I/O クォータを指定しない場合には，システム生成時に設定された省略時の値が使用されます。プロセスを実行するためには，少なくとも 1024 バイトが必要です。

> バッファード制限クォータは，プールされます。

> ### /DELAY=デルタ時間

> 生成されたプロセスをハイバネート(休止)状態にして，指定された時間が経過したあとでウェイクアップ(起動)させます。

> デルタ時間は，『Compaq OpenVMS ユーザーズ・マニュアル』またはオンライン・ヘルプの DCL_Tips トピック (Date_Time サブトピック) のデルタ時間の入力に関する規則に従って指定します。

> /INTERVAL 修飾子と /DELAY 修飾子の両方を指定する場合には，最初の起動要求は，/DELAY 修飾子に指定されている時刻に実行され，その後の起動要求はすべて，/INTERVAL に指定されている時間間隔で実行されます。

> ### /DETACHED

> ### /NODETACHED

> 現在のプロセスと同じ利用者識別コード(UIC)を使って，独立プロセスを生成します (違う UIC の独立プロセスを生成するには，/UIC 修飾子を使用します)。この修飾子が省略されている場合には，生成されるプロセスは独立プロセスではありません。

> 省略時の設定では，独立プロセスは，現在のプロセスと同じ資源クォータを持ちます。ただし，IMPERSONATE 特権あるいは CMKRNL 特権を持つ場合には，独立プロセスが必要とするクォータを任意に指定できます。 IMPERSONATE 特権あるいは CMKRNL 特権を持たない限り，生成できる独立プロセスの最大数は， UAF の MAX_DETACH によって定義されるクォータに制限されます。

> ### /DUMP

> ### /NODUMP (省略時の設定)

> 処理されないエラーのためにイメージが終了した場合には，/DUMP 修飾子は，アドレス空間の内容を，プロセスの省略時の装置/ディレクトリ内のファイル (ファイル名は，イメージ名.DMP)に書き込みます。ダンプを解析するには，Analyze/Process_Dump ユーティリティを使用します。

> ### /ENQUEUE_LIMIT=クォータ

> プロセスが一度に未処理状態のまま保持できる，ロックの最大数を指定します。

> このクォータを指定しない場合には，システム生成時に設定された省略時の値が使用されます。プロセスが動作するには，少なくともこの値が2でなければなりません。

> ### /ERROR=ファイル指定

> SYS$ERROR という論理装置名に対する，等価名文字列を定義します。等価名は，1文字から 63 文字までの英数字です。論理名とその等価名は，生成されたプロセスのプロセス論理名テーブルに登録されます (SYS$SYSTEM:LOGINOUT を実行している場合には，/ERROR 修飾子は無視されます)。

> ### /EXTENT=クォータ

> プロセス内で実行中のイメージが，物理メモリ・サイズを拡張する場合の最大値を指定します。

> このクォータを指定しない場合には，システム生成時に設定された，省略時の値を使用します。プロセスを実行するには，少なくとも 10 ページは必要です。

> OpenVMS Alpha では 512 バイトのページレットの数で， OpenVMS VAX では 512 バイトのページの数で指定します。 OpenVMS Alpha は，指定された値を最も近い CPU 特有のページ数に切り上げます。したがって，実際に使用される物理メモリの量は， OpenVMS Alpha システムでは，指定値よりも大きいことがあります。

> 拡張クォータは，プロセス，サブプロセス間で分割されません。

> ### /FILE_LIMIT=クォータ

> プロセスが一度にオープンできる，ファイルの最大数を指定します。

> このクォータを指定しない場合には，システム生成時に設定された省略時の値を使用します。プロセスを実行するには，少なくともこの値が2でなければなりません。

> ファイル制限クォータは，プールされます。

> ### /INPUT=ファイル指定

> SYS$INPUT という論理装置名に対する等価名文字列を定義します。等価名は，1 〜 63 文字までの英数字です。論理名と等価名は，生成されたプロセスのプロセス論理名テーブルに登録されます。

> ### /INTERVAL=デルタ時間

> 生成されたプロセスをハイバネート(休止)状態にし，一定間隔でウェイクアップ(起動)することを指定します。

> デルタ時間は，『Compaq OpenVMS ユーザーズ・マニュアル』またはオンライン・ヘルプの DCL_Tips トピック (Date_Time サブトピック) のデルタ時間の入力に関する規則に従って指定します。

> /DELAY 修飾子または /SCHEDULE 修飾子を， /INTERVAL 修飾子とともに指定した場合には，最初の起動は /DELAY 修飾子または /SCHEDULE 修飾子によって指定された時刻に実行され，そのあとの起動はすべて /INTERVAL修飾子によって指定された時間間隔で実行されます。 /DELAY 修飾子も /SCHEDULE 修飾子も指定せずに， /INTERVAL 修飾子だけを指定する場合には，最初の起動は直ちに実行されます。

> ### /IO_BUFFERED=クォータ

> 生成されたプロセスが一度に未処理状態にしておくことができる，システム・バッファード I/O 処理の最大数を指定します。

> このクォータを指定しない場合には，システム生成時に設定された省略時の値が使用されます。プロセスを実行するためには，この値が少なくとも2でなければなりません。

> バッファード I/O クォータは，プロセス，サブプロセス間で分割されません。

> ### /IO_DIRECT=クォータ

> 生成されたプロセスが一度に未処理状態にしておくことができる，直接 I/O処理の最大数を指定します。

> このクォータを指定しない場合には，システム生成時に設定された省略時の値が使用されます。プロセスを実行するためには，この値が少なくとも2でなければなりません。

> 直接 I/O クォータは，プロセス，サブプロセス間で分割されません。

> ### /JOB_TABLE_QUOTA=クォータ

> 独立プロセスのジョブ論理名テーブルの大きさを指定します。

> ここで，0 という値には特別な意味があります。この 0 というテーブルの大きさは，そのクォータが親テーブルであるシステム・ディレクトリ・テーブルにプールされることになるため，ジョブ論理名テーブルが，すべての目的に対して無制限であることを意味します。

> /JOB_TABLE_QUOTA 修飾子が意味を持つのは，独立プロセスの場合だけです。サブプロセスを生成する RUN コマンドに， /JOB_TABLE_QUOTA 修飾子を指定した場合は，無視されます。

> ### /MAILBOX=ユニット番号

> 生成されたプロセスが削除される時に，終了メッセージを受信するメールボックスのユニット番号を指定します。メールボックスが指定されていない場合には，サブプロセスまたは独立プロセスが削除されても，それを生成したプロセスには通知されません。

> ### /MAXIMUM_WORKING_SET=クォータ

> プロセス内で実行中のイメージが，そのワーキング・セット・サイズを増大する際の最大値(64K ページまで) を指定します。イメージは，$ADJWSL (Adjust Working Set Limit) システム・サービスを呼び出すことにより，ワーキング・セット・サイズを拡大できます。

> このクォータを指定しない場合には，システム生成時に設定された省略時の値を使用します。プロセスを実行するためには，少なくとも 10 ページが必要です。

> 最大ワーキング・セット・クォータは，プロセス，サブプロセス間で分割されません。

> ### /ON=ノード名

> 独立プロセスを作成する OpenVMS Cluster のノードを指定します。ユーザが RUN コマンドで指定した値と，作成したプロセスのクォータ(最大)とターゲット・ノードの PQL_M* システム・パラメータのクォータ(最小)を比較して，クォータが決まります。この範囲外のクォータを指定するには， IMPERSONATE 特権または CMKRNL 特権が必要です。クォータを指定しないと，省略時の設定によりターゲット・ノードの PQL_D* システム・パラメータの値になります。

> ノード名修飾子の値は，要求したノードの SCS ノード名を含む 1 〜 6 文字の文字列です。

> たとえば，ノード FOO 上に BAR というプロセスを作成して MY_PROG.EXE を実行するには，次のコマンドを入力します。

>     $ RUN $10$DKB100:[SMITH]MY_PROG.EXE /DETACH /ON="FOO" -
>     _$ /PROCESS_NAME="BAR"

> イメージを含むディスクは，指定したノードでマウントしておかなければなりません。コマンドを入力したノードでディスクがマウントされていないこともあるので， RUN コマンド・プロセッサはイメージが存在するかどうか確認しません。したがって，イメージ・ファイルがないために作成されたプロセスがすぐに強制終了されても， RUN コマンドはエラーなしで終了してしまいます。

> ### /OUTPUT=ファイル指定

> SYS$OUTPUT という論理装置名に対する，等価名文字列を定義します。等価名は，1 〜 63 文字までの英数字です。等価名も論理名も，生成されたプロセスのプロセス論理名テーブルに登録されます。

> ### /PAGE_FILE=クォータ

> ページング・ファイルからプロセスに割り当てることができる，ページの最大数を指定します。ページング・ファイル・クォータは，イメージ実行中に使用できる補助記憶域のサイズです。

> このクォータを指定しない場合には，システム生成時に設定された省略時の値を使用します。プロセスを実行するためには，少なくとも 256 ページが必要です。ページング・ファイル・クォータは，プールされます。

前へ | 次へ | 目次 | 索引