#!/bin/bash
# Рекурсивная функция для создания дерева процессов
create_process_tree() {
local level=$1
local max_level=$2
local parent_pid=$$
echo "Уровень $level: PID=$$, PPID=$PPID"
if [ $level -lt $max_level ]; then
# Создание дочерних процессов на следующем уровне
for i in 1 2; do
(
create_process_tree $((level + 1)) $max_level
) &
child_pid=$!
echo " Создан дочерний процесс PID=$child_pid на уровне $((level + 1))"
done
# Ожидание завершения дочерних процессов
wait
fi
}
echo "=== Создание дерева процессов ==="
echo "Корневой процесс: PID=$$"
echo ""
# Создание дерева с глубиной 3 уровня
create_process_tree 1 3
echo ""
echo "=== Дерево процессов создано ==="
echo "Просмотр структуры:"
echo ""
# Показать созданную иерархию
pstree -p $$