Вариант 1
Код: Выделить всё
#!/bin/bash
#ставлю обработчик сигнала
trap "echo ' signal got'" INT
#дальше запускаю фоновые задачи
#тут будет код запуска фоновых задач
#ухожу в сон и жду "прерывания"
sleep infinity
#при получении сигнала сон прерывается и скрипт продолжается
echo "Exiting"
Вариант 2
Код: Выделить всё
#!/bin/bash
echo "My pid is $$"
#запускаю фоновые задачи
#тут будет код запуска фоновых задач
#посылаю сам себе SIGSTOP
kill -SIGSTOP $$
#при получении сигнала SIGCONT сон прерывается и скрипт продолжается
echo "Exiting"
Есть ещё и третий вариант
Код: Выделить всё
#!/bin/bash
#ставлю обработчик сигнала
trap "echo ' signal got'" INT
#дальше запускаю фоновые задачи
#тут будет код запуска фоновых задач
#ухожу в сон и жду "прерывания"
while true; do sleep 86400; done
#при получении сигнала сон прерывается и скрипт продолжается
echo "Exiting"
Вот сижу и думаю, какой вариант использовать. Есть идеи? По шелл-портянкам я не спец, так что особо не ругайте.