2016-07-13 4 views
1

У меня есть исполняемый файл сервера myserver. Я должен запустить 5 экземпляров с разными IP-адресами (предоставляется через командную строку). Это то, что я пробовал:Выполнение нескольких процессов с помощью сценария оболочки

for i in `seq 1 5` 
do 
    ip="127.0.0.$i" 
    myserver $ip 
done 

Проблема в том, что после запуска первого myserver элемент управления не поступает на терминал. Как запустить процессы в фоновом режиме?

Добавление с & и.е. myserver $ip & не помогло. Скорее всего, я делаю что-то неправильно с последним &, который используется для запуска процессов в фоновом режиме.

Редактировать: myserver должен постоянно слушать сокет, связанный с его IP-адресом и портом по умолчанию. Поэтому он имеет бесконечный цикл внутри него.

ответ

3
for i in {1..5} 
do 
    ip="127.0.0.$i" 
    myserver "$ip" & 
done 

wait # for all backgrounded jobs to finish 
+0

'wait' в конце классный. :), но может быть необязательным –

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