qrsh は、標準 rsh 機能を基に構築されています。rsh の関係については、 sge-root/3rd_party の情報を参照してください。qrsh は、次のようなさまざまな目的に使用できます。
標準的な UNIX 機能である rsh と比較できる Grid Engine システムを使用する対話型アプリケーションのリモート実行。rsh は、HP-UX システムでは remsh とも呼ばれます。
Grid Engine システムを使用する対話型ログインセッション機能の提供。標準の UNIX 機能である rlogin に似ています。Grid Engine システムが UNIX telnet 機能を表現するために、qlogin は今でも必要とされます。
端末 I/O (標準出力、標準エラー、および標準入力) および端末制御をサポートするバッチジョブの発行の許可。
シェルスクリプトに組み込まれていないスタンドアロンプログラムの発行方法の提供
qrsh で -b n オプションを使用することで、スクリプトを発行することもできます。詳細は、qrsh のマニュアルページを参照してください。
バッチジョブが保留中または実行中のときにアクティブのままで、ジョブが終了または取り消されたときだけ停止される発行クライアントの提供
並列ジョブによって割り当てられた分散リソースのフレームワーク内での Grid Engine システム制御によるジョブタスクのリモート実行。『Sun N1 Grid Engine 6.1 管理ガイド』の「並列環境と Grid Engine ソフトウェアの密統合」を参照してください。
これらの機能によって、qrsh は qtcsh および qmake 機能を実装する主な使用可能インフラストラクチャーとなっています。qrsh は、Grid Engine システムを MPI や PVM などの 並列環境と密接に統合するためにも使用されます。
qrsh コマンドを入力し、次の構文に従ってオプションと引数を追加します。
% qrsh [options] program|shell-script [arguments] \ [> stdout] [>&2 stderr] [< stdin] |
qrsh は、qsub のほとんどすべてのオプションに対応しています。 qrsh は、次のオプションを提供します。
-now yes|no – -now yes は、ただちにジョブのスケジューリングを行うように指定します。適切なリソースを使用できない場合、ジョブは拒否されます。-now yes はデフォルトです。-now no は、発行時にジョブを開始できない場合に、バッチジョブのようにジョブをキューに入れるように指定します。
-inherit – qrsh は、ジョブタスクを開始するスケジューリングプロセスを実行しません。qrsh は、そのジョブが、指定されたリモート実行ホスト上に適切な割り当てリソースを持っている並列ジョブに組み込まれているとみなします。この形式の qrsh は一般的に、qmake または密接な並列環境の統合で使用されます。デフォルトでは、外部ジョブ リソースは継承されません。
-noshell – このオプションでは、ユーザーのログインシェルで qrsh に対して指定されているコマンド行は開始されません。このコマンドは、包括するシェルなしで実行されます。このオプションは、シェルの開始およびシェルリソースファイルの調達などのオーバーヘッドを避け、実行速度を速めるために使用してください。
-nostdin – 入力ストリーム STDIN を制御します。このオプションを設定すると、qrsh が -n オプションを rsh コマンドに渡します。入力ストリームの抑制は、たとえば make プロセスなどで、qrsh を使用して複数のタスクを並列実行している場合に特に役立ちます。入力を受けるプロセスは未定義です。
-verbose – このオプションは、スケジューリングプロセスの出力を表します。-verbose は主にデバッグのために使用されるので、デフォルトではオフになっています。