システムの障害の可能性もありますがジョブスクリプトのミスによることがあります。以下の点をご確認ください。
ジョブの詳細状況は以下のコマンドで確認ができます。
|
確認後、「Eqw」ステータスのジョブは qdel で削除してください。
原因の切り分けと修正を行いジョブを再投入してください。
エラーの場合の例を以下にあげます。
ファイルパーミッションがない場合のエラー例
|
改行コードの問題やディレクトリが存在しないおよびジョブスクリプトが不正な場合のエラー例
|
1. ジョブスクリプトの改行コードがUNIX形式(LF)でない
改行コードがwindowsのCR+LFに設定されている場合も発生いたしますので、実際のスクリプトで合わせてご確認ください。
以下のコマンドで確認ができます。
|
#CR+LFの場合の出力
スクリプトファイル名: ASCII text, with CRLF line terminators |
#LFの場合の出力
スクリプトファイル名: ASCII text |
catコマンドでも確認ができます
|
#CR+LFの場合の出力
行末が^M$と表示されます。
|
#LFの場合の出力
行末が$と表示されます。
|
改行コードの対策としては、以下があります。
- Windowsでスクリプトを編集しない
- Windowsでスクリプトを編集する場合は改行コードに対応したエディタを利用し、改行コードを必ず確認する
- nkfで実行前に改行コードをLFに修正する
- LF以外であった際は下記のコマンドで修正ください。
$ nkf -Lu file1.sh > file2.sh |
※file1.shは変換したいスクリプトファイル、file2.shは変換後のスクリプト出力先ファイルです。file2.shはfile1.shとは異なるファイル名でなければなりません。同一ファイル名を指定するとファイルが破損しますのでご注意ください。
2. 実行するディレクトリなどが存在しない
ジョブスクリプトで記述されている実行ディレクトリが存在しない場合に発生します。以下のコマンドで確認ください。
確認後、スクリプトを適切に修正下さい。
|
3. バックグラウンドジョブ("&"付き)でジョブスクリプトが記載されている
以下の様にバックグラウンドジョブ("&"付き)で記載し投入された場合、実行されません。
例)
|
4. ファイルパーミッションが無い
プログラムが利用するファイルに適切なパーミッションを設定下さい。
例) 自分にreadと実行権限を付与
|
5. ディスククォータ
グループディスクのクォータをご確認下さい。
1TBあたりの保存可能ファイル数 (iノード数) の上限は 2,000,000です。
確認方法は下記FAQを参照下さい。