История изменений
Исправление Zmicier, (текущая версия) :
Но вообще ожидать завершения процессов разумнее по их идентификаторам (PID’ам)
Ну а собственно давайте напишем. Вот, по-моему оно еще и много понятнее:
#!/bin/bash
procwait ()
{
while kill 2>&- -0 "$1"; do
sleep 5
done
}
cd '/var/run/screen/S-msm/'
for screen_file in *; do
IFS='.' read pid sessionname <<< "$screen_file"
if [[ -e "/opt/msm/servers/$sessionname" ]]; then
printf >&2 'Wainting for %s\n' "$sessionname"
procwait "$pid" &
fi
done
wait
Опять же — не проверял.
Исправление Zmicier, :
Но вообще ожидать завершения процессов разумнее по их идентификаторам (PID’ам)
Ну а собственно давайте напишем. Вот, по-моему оно еще и много понятнее:
#!/bin/bash
procwait ()
{
while kill -0 "$1"; do
sleep 5
done
}
cd '/var/run/screen/S-msm/'
for screen_file in *; do
IFS='.' read pid sessionname <<< "$screen_file"
if [[ -e "/opt/msm/servers/$sessionname" ]]; then
printf >&2 'Wainting for %s\n' "$sessionname"
procwait "$pid" &
fi
done
wait
Опять же — не проверял.
Исходная версия Zmicier, :
Но вообще ожидать завершения процессов разумнее по их идентификаторам (PID’ам)
Ну а собственно давайте напишем. Вот:
#!/bin/bash
procwait ()
{
while kill -0 "$1"; do
sleep 5
done
}
cd '/var/run/screen/S-msm/'
for screen_file in *; do
IFS='.' read pid sessionname <<< "$screen_file"
if [[ -e "/opt/msm/servers/$sessionname" ]]; then
printf >&2 'Wainting for %s\n' "$sessionname"
procwait "$pid" &
fi
done
wait
Опять же — не проверял.