Загрузка данных


#!/bin/bash

# Вывод информации о родительском процессе
echo "=== Родительский процесс ==="
echo "PID родителя: $$"
echo "PPID родителя: $PPID"
echo ""

# Функция для дочернего процесса
child_process() {
    local id=$1
    echo "Дочерний процесс $id запущен (PID: $$, PPID: $PPID)"
    sleep 2
    echo "Дочерний процесс $id завершает работу"
}

# Создание трех дочерних процессов в фоновом режиме
echo "=== Запуск дочерних процессов ==="
child_process 1 &
pid1=$!
echo "Запущен дочерний процесс 1 с PID: $pid1"

child_process 2 &
pid2=$!
echo "Запущен дочерний процесс 2 с PID: $pid2"

child_process 3 &
pid3=$!
echo "Запущен дочерний процесс 3 с PID: $pid3"

echo ""
echo "=== Ожидание завершения дочерних процессов ==="

# Ожидание завершения всех дочерних процессов
wait $pid1
echo "Дочерний процесс 1 завершен (код: $?)"

wait $pid2
echo "Дочерний процесс 2 завершен (код: $?)"

wait $pid3
echo "Дочерний процесс 3 завершен (код: $?)"

echo ""
echo "=== Все дочерние процессы завершены ==="
echo "Родительский процесс продолжает работу"