5

2 つの引数を必要とし、コマンド ラインで次のように実行すると問題なく動作する Python スクリプトを作成しました。

pythonscript.py arg1 arg2

これを SLURM バッチ スクリプトで実行する必要がありますが、実行するたびに「不正な命令」エラーとコア ダンプが発生します。これは私が使用しているスクリプトの例です:

#!/bin/bash
# Set your minimum acceptable walltime, format: day-hours:minutes:seconds
#SBATCH --time=0-00:30:00

# Set name of job shown in squeue
#SBATCH --job-name pythonscript

# Request CPU resources
#SBATCH --ntasks=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=1

# Memory usage (MB)
#SBATCH --mem-per-cpu=3000

# Use modules to set the software environment
module purge
module load python/2.7.8-gcc

pythonscript.py arg1 arg2

コア ダンプの原因を正確に把握するために多くの時間を費やしましたが、これに絞り込みました。バッチスクリプトから実行した場合にのみクラッシュし、引数を指定してスクリプトを実行しようとした場合にのみクラッシュします。引数なしで実行するように変更すると、正しく実行されます。これらの引数を SLURM スクリプト内の Python スクリプトに渡す方法を教えてもらえますか?

4

3 に答える 3

0

これはばかげた質問のように思えるかもしれませんが、pythonscript.py は実行可能ですか?

また、試しましたか

python pythonscript.py arg1 arg2

代わりに、変更できる場合があります

#!/bin/bash

#!/bin/python

または、使用する Python バージョンへの適切なパス。

于 2015-07-08T17:34:49.677 に答える
0

私は以下を使用し、任意の数の引数を追加できます。

#!/bin/bash
#SBATCH --cpus-per-task=1        # number of cores

cd $SLURM_SUBMIT_DIR
pwd

python $SLURM_SUBMIT_DIR/python.py HumptyDumpty.txt newhumpty.txt ad.txt
于 2020-02-10T20:03:54.867 に答える