Итак, я хочу запустить python script на удаленном компьютере. Однако в руководстве к серверу они говорят следующее:
Вам нужно создать этот script и сохранить его.
#!/bin/bash
#$ -V ## pass all environment variables to the job, VERY IMPORTANT
#$ -N run_something ## job name
#$ -S /bin/bash ## shell where it will run this job
#$ -j y ## join error output to normal output
#$ -cwd ## Execute the job from the current working directory
#$ -q lowmemory.q ## queue name
uptime > myUptime.${JOB_ID}.txt
echo $HOSTNAME >> myUptime.${JOB_ID}.txt
Итак, если этот script был вызван blast_AE004437.sh, мы могли бы запустить следующее, чтобы выполнить все эти шаги.
qsub my_script.sh
Итак, я предполагаю, что мне нужно создать файл .sh для его запуска и добавить все эти команды в исходный script. Это оно? Потому что я делаю это, и ничего не происходит. После всех этих команд я также добавляю "python2.7" для загрузки python. Что я делаю неправильно? Кстати, выход выйдет в том же файле или мне нужно загрузить другой файл?
Файл, который вы указали, является началом запуска SGE script
который вызывается планировщиком заданий. qsub
отправляет его в расписание
система. Как только на кластерной машине имеется свободный слот,
запускается script.
Я предлагаю вам называть ваш собственный script в этом файле.
...
echo $HOSTNAME >> myUptime.${JOB_ID}.txt
cd /directory/of/your/script # change directory
python2.7 your_script.py arg1 arg2 ... >> output.${JOB_ID}.log # call your script
Часто вам также необходимо установить переменную $PATH и переменную $PYTHONPATH вручную прежде чем вы сможете вызвать python.
my_script.sh
( my_script.sh
), который затем вызывает ваш скрипт на удаленных машинах. arg1
и arg2
являются просто примерами, если вы хотите предоставить аргументы командной строки для вашего скрипта (вы можете пропустить их, если они вам не нужны). Вывод вашего скрипта в stdout (команда print
на python) записывается в файл output.JOBID.log.
my_script.py
на удаленной машине, на которой установлен python, вы можете запуститьpython my_script.py
из командной строки для выполнения сценария. Если это не тот ответ, который вы искали, помогут некоторые разъяснения.