Лучший способ сделать демон сценария оболочки?

Мне интересно, есть ли лучший способ создать демона, который ждет чего-то, используя только sh, чем:

#! /bin/sh
trap processUserSig SIGUSR1
processUserSig() {
  echo "doing stuff"
}

while true; do
  sleep 1000
done

В частности, мне интересно, есть ли способ избавиться от цикла и все же послушай сигналы.

76
задан 2 revs, 2 users 100% 19 September 2018 в 00:45
поделиться

4 ответа

Используйте средство демона вашей системы, например start-stop-daemon .

В противном случае, да, где-то должна быть петля.

45
ответ дан 24 November 2019 в 11:04
поделиться
# double background your script to have it detach from the tty
# cf. http://www.linux-mag.com/id/5981 
(./program.sh &) & 
61
ответ дан 24 November 2019 в 11:04
поделиться

Посмотрите на инструмент демона из пакета libslack:

http://ingvar.blog.linpro.no/2009/05/18/todays-sysadmin-tip-using-libslack-daemon-to-daemonize-a-script/

В Mac OS X используйте сценарий launchd для демона оболочки.

1
ответ дан 24 November 2019 в 11:04
поделиться

попробуйте выполнить с помощью & если вы сохраните этот файл как program.sh

, вы можете использовать

$. program.sh &
-3
ответ дан 24 November 2019 в 11:04
поделиться