Параллельный запуск GNU --sem зависает Кластер SGE

Независимо от того, что файл ядра удален, ядро будет работать до выключения, перезагрузки или сбоя.

То же самое происходит с запущенными процессами, наиболее распространенными для исполняемых файлов ELF являются все их зависимости (можно увидеть, что конкретные соответствующие файлы, работающие ldd $ (which rm) ) загружаются из файловой системы в виртуальную память. система, не освобождаемая из памяти, по крайней мере, до тех пор, пока не будут выполнены все экземпляры этого процесса. Вот почему горячая замена может выполняться для большинства исполняемых файлов и библиотек.

2
10.10.2015, 15:31
1 ответ

Вы запускаете каждую команду последовательно. К тому времени, когда скрипт достигнет sem --wait , все три команды будут выполнены и завершены.

Попробуйте добавить & в строку sem -j 3 $ cmd . Это приведет к параллельному запуску каждой команды в фоновом режиме.

cmds=("prog 1 2 3" "prog 4 5 6" "prog 7 8 9")
for cmd in "${cmds[@]}"
do
    sem -j 3 $cmd &
done
sem --wait
0
29.04.2021, 00:22

Теги

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