Skip to content
/ msh Public

Simple utility for running independent tasks in parallel (Простая утилита для параллельного запуска независимых заданий)

License

Notifications You must be signed in to change notification settings

true-alex/msh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

msh

bash скрипт для параллельного запуска заданий

Используйте

$ msh файл-с-заданиями число-процессов

Пример

$ msh tasks.sh 10

Файл с заданиями должен содержать по одному заданию на каждой строчке (задание это bash однострочник), msh запускает указанное число процессов (в примере 10) каждый процесс берёт по строчке, и запускает задание. После окончания задания процесс берёт следующее ещё никем не взятое ранее задание. После окончания процессов msh завершается.

Пример использования (создать для каждого обычного файла в директории файл с контрольной суммой, расчёт произвести в 16 потоков по числу ядер процессора):

#START SCRIPT

ls -S | while read a;do if test -f "$a";then echo "md5 -q '${a}' > '${a}.md5'" ;fi;done > tasks.sh

msh tasks.sh 16

#END SCRIPT

bash script to run jobs in parallel

Use

$ msh job-file number-of-processes

Example

$ msh tasks.sh 10

The task file should contain one task on each line (the task is a bash one-line), msh starts the specified number of processes (in example 10), each process takes a line, and starts the task. After the end of the task, the process takes the next task that has not yet been taken by anyone. After the processes terminate, msh exits.

An example of use (create a file with a checksum for each regular file in the directory, calculate in 16 threads by the number of processor cores):

#START SCRIPT

ls -S | while read a; do if test -f "$ a"; then echo "md5 -q '$ {a}'> '$ {a} .md5'"; fi; done> tasks.sh

msh tasks.sh 16

#END SCRIPT

About

Simple utility for running independent tasks in parallel (Простая утилита для параллельного запуска независимых заданий)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages