Ошибка разрешений index.lock - .git принадлежит root, рабочее дерево принадлежит другому пользователю

Вы можете просто сделайте это с круговым перебором srun (что-то вроде):

jobs=({1..4})
nodes=($(scontrol show hostname $SLURM_NODELIST))
for ((n = 0; n < ${#jobs[@]}; n++)); do
  index=$(expr $n % ${#nodes[@]})
  srun --nodes=1 --ntasks=1 --nodelist=${nodes[$index]} \
       --exclusive ./myscript --input infile.txt \
       --setting $n --output out$n &
done
wait

Я предполагаю, что --cpus-per-task=2 будет передано srun . Дайте мне знать, если у вас есть какие-либо проблемы. Сегодня утром я возился с параллелью, но я не вижу, как решить эту проблему напрямую. Кроме того, я обнаружил, что если вы сканируете задание, содержащее параллельные задания GNU, работающие процессы не умирают, если только вы не используете srun.

1
21.02.2017, 01:13
1 ответ

То, что вы спрашиваете, противоречиво. Чтобы запустить git checkout в репо, пользователю необходим доступ на запись к папке .git .

Вы можете отслеживать свой проект на один уровень выше корневого веб-сервера, поэтому он не будет доступен веб-серверу.

В противном случае вы могли бы клонировать репо в другом месте и использовать символическую ссылку только на то, что необходимо, в корневой веб-каталог

0
28.01.2020, 01:00

Теги

Похожие вопросы