2009-05-14 9 views
2

Есть ли простой способ сделать эквивалент этого, но одновременно запустить два процесса с помощью bash?Синхронизация параллельных процессов в bash с «временем»

$ time sleep 5; sleep 8 

time должен сообщить в общей сложности 8 секунд (или количество времени, самой длинной задачи)

+0

С какой целью? – JosefAssad

+0

Чтобы проверить, требуется ли меньше времени для обработки входного файла последовательно или одновременно. – Grant

ответ

6
$ time (sleep 5 & sleep 8 & wait) 

real 0m8.019s 
user 0m0.005s 
sys  0m0.005s 

Без каких-либо аргументов, оболочка встроенной wait ждет всех рабочих мест в фоновый режим завершения.

1
time sleep 8 & time sleep 5 

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

+0

О да, не думал об этом третьем толковании его вопроса. Неплохо. – TheBonsai

1

Использование спит в качестве примеров.

Если вы хотите только время первого процесса, то

time sleep 10 & sleep 20 

Если вы хотите, чтобы время оба процесса, то

time (sleep 10 & sleep 20) 
+0

Второй пример не корректно обрабатывает оба процесса, а только второй. – Grant

+0

Вы правы, но относительно его новых комментариев, это более или менее то, что он просил (его первоначальный вопрос был недостаточно ясным). – TheBonsai

0

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

time sleep 5& time sleep 8 

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

0

Если у вас есть GNU Parallel http://www.gnu.org/software/parallel/ установлена, вы можете сделать это:

time parallel sleep ::: 5 8 

Вы можете установить GNU Parallel просто:

wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel 
chmod 755 parallel 
cp parallel sem 

Смотреть интро видео для GNU Parallel, чтобы узнать больше: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Смежные вопросы