Мне интересно, есть ли лучший способ создать демона, который ждет чего-то, используя только sh, чем:
#! /bin/sh
trap processUserSig SIGUSR1
processUserSig() {
echo "doing stuff"
}
while true; do
sleep 1000
done
В частности, мне интересно, есть ли способ избавиться от цикла и все же послушай сигналы.
Используйте средство демона вашей системы, например start-stop-daemon .
В противном случае, да, где-то должна быть петля.
# double background your script to have it detach from the tty
# cf. http://www.linux-mag.com/id/5981
(./program.sh &) &
Посмотрите на инструмент демона из пакета libslack:
В Mac OS X используйте сценарий launchd для демона оболочки.
попробуйте выполнить с помощью & если вы сохраните этот файл как program.sh
, вы можете использовать
$. program.sh &