#!/bin/bash
echo "=== Управление процессами ==="
# Запускаем 2 фоновых процесса
bash -c 'trap "echo \" [Процесс 1 PID $$] Получил SIGTERM, ухожу корректно\"; exit 0" SIGTERM; echo " [Процесс 1 PID $$] запущен"; while true; do sleep 1; done' &
PID1=$!
bash -c 'echo " [Процесс 2 PID $$] запущен"; while true; do sleep 1; done' &
PID2=$!
echo "Созданы процессы: $PID1 и $PID2"
sleep 2
# Приостанавливаем процесс 2
echo ""
echo "1. Останавливаем процесс 2 (SIGSTOP)..."
kill -STOP $PID2
ps -p $PID2 -o pid,stat,cmd
sleep 2
# Возобновляем
echo ""
echo "2. Возобновляем процесс 2 (SIGCONT)..."
kill -CONT $PID2
ps -p $PID2 -o pid,stat,cmd
sleep 2
# Корректно завершаем процесс 1
echo ""
echo "3. Завершаем процесс 1 корректно (SIGTERM)..."
kill -TERM $PID1
sleep 1
# Принудительно убиваем процесс 2
echo ""
echo "4. Убиваем процесс 2 принудительно (SIGKILL)..."
kill -KILL $PID2
sleep 1
echo ""
echo "=== Готово ==="