? Линукс скрипт

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
Аватара пользователя
Algor
Маньяк
Сообщения: 1355
Зарегистрирован: 14 мар 2006, 01:38
Откуда: Самара->Ванкувер

? Линукс скрипт

Сообщение Algor »

подскажите плз
в sh скрипте запускаю одновременно несколько фоновых задач (например scp), а как можно узнать, что выполнилась последняя из них и можно запускать следующие команды?
Аватара пользователя
Marmot
Графоман
Сообщения: 39283
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: ? Линукс скрипт

Сообщение Marmot »

Algor писал(а):подскажите плз
в sh скрипте запускаю одновременно несколько фоновых задач (например scp), а как можно узнать, что выполнилась последняя из них и можно запускать следующие команды?
А потупому в цикле с задержкой смотреть на PIDы?
Было бы интересно узнать как это сделать правильно на шелле.

PS
Я это все на Java делаю, мне так проще... :)
Аватара пользователя
Algor
Маньяк
Сообщения: 1355
Зарегистрирован: 14 мар 2006, 01:38
Откуда: Самара->Ванкувер

Re: ? Линукс скрипт

Сообщение Algor »

Marmot писал(а):А потупому в цикле с задержкой смотреть на PIDы?
Было бы интересно узнать как это сделать правильно на шелле.
Вот и мне интересно именно на шелле, а с ним я мало знаком. и как проверить "автоматически" pidы тоже с трудом представляю
Аватара пользователя
Marmot
Графоман
Сообщения: 39283
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: ? Линукс скрипт

Сообщение Marmot »

Algor писал(а):
Marmot писал(а):А потупому в цикле с задержкой смотреть на PIDы?
Было бы интересно узнать как это сделать правильно на шелле.
Вот и мне интересно именно на шелле, а с ним я мало знаком. и как проверить "автоматически" pidы тоже с трудом представляю
Это-то просто: ps -p $PID
Я не знаю как эти PIDы в массив засунуть :) а искать лениво :)
Аватара пользователя
CdR
Графоман
Сообщения: 11245
Зарегистрирован: 11 окт 2004, 19:27
Откуда: Европа, центр, за углом направо.

Re: ? Линукс скрипт

Сообщение CdR »

Мутить с получением PID процесса и потом "wait PID".

ps: в мане по шеллу почитать.
Аватара пользователя
Marmot
Графоман
Сообщения: 39283
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: ? Линукс скрипт

Сообщение Marmot »

CdR писал(а):Мутить с получением PID процесса и потом "wait PID".
О, все даже еще проще :)
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45288
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: ? Линукс скрипт

Сообщение Stanislav »

Algor писал(а):подскажите плз
в sh скрипте запускаю одновременно несколько фоновых задач (например scp), а как можно узнать, что выполнилась последняя из них и можно запускать следующие команды?
scp в фоне? а можно постаноффку задачи...
Аватара пользователя
Algor
Маньяк
Сообщения: 1355
Зарегистрирован: 14 мар 2006, 01:38
Откуда: Самара->Ванкувер

Re: ? Линукс скрипт

Сообщение Algor »

да, wait PID -чувствую, то что нужно. сэнкс!
а может есть тогда и стандарное решение как запихать в переменную pid запускаемого процесса?

ps
а по постановке - это некая задача синхронизации данных из баз с десятка серверов , данные сначала забираются с них , обрабатываются в центре, и рассылаются обратно. ряд шагов должен выполняться последовательно, ряд параллельно
Аватара пользователя
Marmot
Графоман
Сообщения: 39283
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: ? Линукс скрипт

Сообщение Marmot »

Algor писал(а):да, wait PID -чувствую, то что нужно. сэнкс!
а может есть тогда и стандарное решение как запихать в переменную pid запускаемого процесса?

ps
а по постановке - это некая задача синхронизации данных из баз с десятка серверов , данные сначала забираются с них , обрабатываются в центре, и рассылаются обратно. ряд шагов должен выполняться последовательно, ряд параллельно
Блин, неужели нету простой паралельной запускалки с ожиданием ? Не верю! :)
Аватара пользователя
CdR
Графоман
Сообщения: 11245
Зарегистрирован: 11 окт 2004, 19:27
Откуда: Европа, центр, за углом направо.

Re: ? Линукс скрипт

Сообщение CdR »

Algor писал(а):да, wait PID -чувствую, то что нужно. сэнкс!
а может есть тогда и стандарное решение как запихать в переменную pid запускаемого процесса?
типа такого:

Код: Выделить всё

#!/bin/sh

xterm &
pid=$!
wait $!
echo  $pid done
man'ы рулят! :)
Аватара пользователя
Аман Ванкуверский
Маньяк
Сообщения: 2759
Зарегистрирован: 18 окт 2005, 01:10

Re: ? Линукс скрипт

Сообщение Аман Ванкуверский »

Algor писал(а):да, wait PID -чувствую, то что нужно. сэнкс!
а может есть тогда и стандарное решение как запихать в переменную pid запускаемого процесса?
в баш-скрипте это будет $! для последнего запущенного и $$ для самого скрипта

p.s. опередили :)
Аватара пользователя
Algor
Маньяк
Сообщения: 1355
Зарегистрирован: 14 мар 2006, 01:38
Откуда: Самара->Ванкувер

Re: ? Линукс скрипт

Сообщение Algor »

Всем спасибо!!! :) Еще раз с праздником !!
Ответить