本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 1 : ユーザーコマンド (N~Z) > n

nice(1)

HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

nice ― デフォルト以外の優先順位によるコマンドの実行

構文

nice [-priority_change] command [command_args]
nice [-n priority_change] command [command_args]

説明

nice コマンドは、 command をデフォルト以外の CPU スケジューリング優先順位で実行します (このコマンドの名前は、大きなプログラムを低い優先順位で実行するため、 他のシステムユーザーに「好意的 (nice)」であることに由来します)。

引き数

コマンド行引き数は以下のとおりです。

priority_change 

現在の (または親) プロセスのシステム nice 値 (相対的優先順位) と、 command が実行されるときの実際のシステム nice 値との差です。

符号なしの値は、 command のシステム nice 値を大きくし、より低い優先順位で実行します。

負の数はスーパーユーザー特権を必要とし、 command に低いシステム nice 値 (高い優先順位) を割り当てます。 現在のプロセスに特権がない場合は、 何のメッセージも出力されないまま、 この値は 0 であるとして処理されます。

priority_change の値を適用するとシステム nice 値が 0 から 39 の範囲外となる場合、 代りに 0(下限値) または 39(上限値) が使用されます。

正の (優先順位を下げる) priority_change では数値の前に - オプション文字が 1 個あります。負の (優先順位を上げる) priority_change では、オプション文字の後にマイナス符号が続くので、2 個あります (--)。 -priority_change が指定されない場合、デフォルトは 10 です。

command 

デフォルト以外の優先順位で実行される プログラム、 HP-UX コマンド、ユーザーシェルスクリプトなど。 command は、フォアグラウンド、またはバックグラウンドプロセスとして実行できます。

command がバックグラウンドプロセスとして実行されると、シェル (ksh はバックグラウンドプロセスをすべて nice -4 で実行します) によって作成された nice の priority_change は、さらに nice コマンド行で指定したものに加えられます。

command_args 

command の引き数。

プロセスの優先順位

プロセスにはすべて、実行するようにスケジューリングされた際に、プロセスの一時的な優先順位を計算するのに使用される システム nice 値があります。 通常すべてのプロセスは,生成時に、親プロセスのシステム nice 値を継承します。 シェル (sh, csh, ksh など) は、 nice コマンド経由で子プロセスを生成することにより、 現在のシェルプロセスと違った優先順位で子プロセスを 実行することができます。 priority_change 値が符号なし (正) の場合、子プロセスは親プロセスよりも nice 値が高く (優先順位が低く) なります。 priority_change 値が負ならば、子プロセスは、利用可能なシステムリソースをより多く利用して、より高い優先順位で動作します。 優先順位が高い子プロセスを生成するには、その親プロセスの所有者が、 適切な特権を持つユーザーでなければなりません。

ブート時にシステムは init プロセスをシステム nice 値 20 (システムデフォルト) で起動します。 ほとんどのシステムでは、すべてのプロセス (ログインシェルまで) はこの優先順位を継承します。 個々のログインシェル プロセスから起動すると、ユーザーは子プロセスのシステム nice 値を 39 にまで変更できます。適切な特権を使えば 0 まで変更できます。 システム nice 値 0 はきわめて高い優先順位を確立しますが、値 39 は非常に低い優先順位を示します。

通常のユーザーは、現在のプロセスに関係する任意の子プロセスのシステム nice 値を増大させることのみが可能です。 つまり、 priority_change は結果的により低い優先順位となる正の (符号なし) 値でなければなりません。 現在のプロセスより低いシステム nice 値 (優先順位が高い) で子プロセスを起動するには、ユーザーには希望する相対的な nice 優先順位値とは関係なく、 適切な特権がなければなりません。

例えば、現在の nice 値が 20 であるログインシェルから

nice ksh 

コマンドを使用すると、システム nice 値が 30 のサブシェルが生成されます。 ここで、新しいシェルから次のコマンドを使用して、

nice --2 ksh 

システム nice 値が 28 になる別のサブシェルを 生成しようとしても拒否されます。 この結果のシステム nice 値は、最初のログインシェル プロセスの 優先順位より低くなりますが、ユーザーに適切な特権がない限り、 このコマンドは拒否されます。

現在のプロセスのシステム nice 値は、 ps -l コマンドによって生成される NI の欄にリストされます (ps(1) を参照)。

バックグラウンドプロセス

フォアグラウンドプロセスは、親シェルと同じシステム nice 値で実行されます。 ksh によって生成されたバックグラウンドプロセスは、デフォルトでは、 nice -4 と同等の優先順位で動作します。 バックグラウンドプロセスを ksh から nice 経由で起動すると、 nice コマンドで指定した priority_change が、デフォルトの nice -4 に加算されます。 したがって、コマンド

nice 12 command &

は、 ksh から実行するとシステム nice 値 36 で動作します。

多言語化対応

環境変数

LC_MESSAGES は、メッセージの表示に使われる言語を指定します。

LC_MESSAGES が環境内で指定されていないか空白文字列に設定されている場合、 未指定または空白の各変数に対して LANG の値がデフォルトとして使われます。 LANG が指定されていないか空白文字列に設定されている場合、 LANG の代わりに "C" がデフォルトとして使われます lang(5) を参照)。

国際化変数のどれかが無効な設定を含む場合、 nice はすべての国際化変数が"C"に設定されているように振る舞います。 environ(5) を参照してください。

サポートされるコードセット

シングル/マルチバイトの文字コードセットがサポートされています。

戻り値

nice は、 command によって戻される値を戻します。

以下の例では、現在のプロセスがシステム nice 値 20 で動作し、 nice は K シェルから実行されるものとします (ksh(1) を参照)。

デフォルト priority_change 10 (システム nice 値 30) でカレントディレクトリにある prog という名前のプログラムを実行します。

nice ./prog prog_args

システム nice 値 36 を使用してバックグラウンドで同じプログラムを実行します priority_change=12 に、K シェル用の 4 が加算されます)。

nice -12 ./prog prog_args &

適切な特権を持つユーザーとして、システム nice 値 6 のフォアグラウンドプロセスとして prog を実行します。

nice --14 ./prog prog_args

警告

C シェル csh の組み込みコマンド nice は、構文が異なります。詳細については、 csh(1) を参照してください。

参照

csh(1), ksh(1), nohup(1), sh-posix(1), sh(1), renice(1M), nice(2)

標準準拠

nice: SVID2, SVID3, XPG4

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.