Это команда sem, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
sem - семафор для параллельного выполнения командных строк оболочки
СИНТАКСИС
семафор [--fg] [--id ] [--timeout ] [-j ] [--wait] команда
ОПИСАНИЕ
GNU семафор это псевдоним для GNU параллельно --семафор.
Он работает как инструмент для параллельного выполнения команд оболочки. GNU семафор действует как подсчет
семафор. Когда GNU семафор вызывается командой, он запускает команду в
фон. Когда Num количество команд, выполняемых в фоновом режиме, GNU семафор будет ждать
для выполнения одного из них перед запуском другой команды.
Прежде чем рассматривать варианты, вы можете ознакомиться с примерами после списка
параметры. Это даст вам представление о том, что GNU семафор способен на.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
команду Команда на выполнение. За командой могут следовать аргументы команды.
--bg Запустить команду в фоновом режиме, таким образом, GNU параллельно не будет ждать завершения
перед выходом. Это значение по умолчанию.
См. также: --fg
-j N Параллельно запускайте до N команд. По умолчанию 1, что действует как мьютекс.
--работа N
-j N
--max-прокс N
-P N Параллельно запускайте до N команд. По умолчанию 1, что действует как мьютекс.
--работа +N
-j +N
--max-прокс +N
-P +N Добавьте N к количеству ядер процессора. Выполняйте это количество работ параллельно. Для
вычислять интенсивные работы -j +0 полезен, так как он будет запускать задания по количеству ядер ЦП
одновременно.
--работа -N
-j -N
--max-прокс -N
-P -N Вычтите N из количества ядер ЦП. Выполняйте это количество работ параллельно.
Если оцененное число меньше 1, будет использоваться 1. Смотрите также
--use-cpus-вместо-of-cores.
--работа N%
-j N%
--max-прокс N%
-P N% Умножьте N% на количество ядер ЦП. Выполняйте это количество работ параллельно.
Если оцененное число меньше 1, будет использоваться 1. Смотрите также
--use-cpus-вместо-of-cores.
--работа профиль
-j профиль
--max-прокс профиль
-P профиль
Прочитать параметр из файла. Используйте содержимое профиль как параметр для -j, Например
профиль может содержать строку 100% или +2 или 10.
--semaphorename имя
--я бы имя
Используйте имя как имя семафора. По умолчанию это имя управляющего терминала.
(вывод из терминал).
По умолчанию обычно работает, как ожидалось, при использовании в интерактивном режиме, но при использовании в
скрипт имя должен быть установлен. $$ or имя_моей_задачи часто имеют хорошее значение.
Семафор хранится в ~ / .parallel / семафоры /
--fg Не помещайте команду в фоновый режим.
- тайм-аут сек (не реализована)
-t сек (не реализована)
Если семафор не освобожден в сек секунд, все равно возьми.
--ждать
-w Дождитесь завершения всех команд.
Пример: Сжатие * .log
Запустите один процесс gzip на каждое ядро процессора. Блокируйте, пока не станет доступно ядро ЦП.
для i в * .log; делать
эхо $ я
sem -j + 0 gzip $ i ";" эхо сделано
сделанный
сем - ждать
Пример: Защищающий pod2html от саму трезвость
pod2html создает два файла: pod2htmd.tmp и pod2htmi.tmp, которые он не очищает. Это
использует эти два файла в течение короткого времени. Но если вы запустите несколько pod2html параллельно (например,
в Makefile с make -j) вам нужно защитить pod2html от двойного запуска в одном и том же
времени. семафор запуск как мьютекс сделает именно это:
sem --fg --id pod2html pod2html foo.pod> foo.html
sem --fg --id pod2html rm -f pod2htmd.tmp pod2htmi.tmp
Используйте sem онлайн с помощью сервисов onworks.net