Linux-демон против переднего плана - PullRequest
4 голосов
/ 19 декабря 2011

В чем преимущества "демонизации" серверного приложения перед запуском программы в режиме консоли?

Ответы [ 3 ]

5 голосов
/ 19 декабря 2011

Запуск его в качестве демона означает, что вы можете

  • выйти из системы без потери службы (что экономит некоторые ресурсы)

  • нериск потери сервиса из-за случайного нажатия ctrl-c

  • не представляет незначительной угрозы безопасности для кого-то, получающего доступ к терминалу, нажимающего ctrl-c и принимающего сеанс

По сути, все «реальные» службы, работающие «в производстве» (в отличие от режима отладки), работают именно таким образом.

4 голосов
/ 19 декабря 2011

Основным моментом будет отсоединение процесса от терминала, чтобы процесс не завершался, когда пользователь выходит из терминала. Если вы запускаете программу в режиме консоли, она завершается при выходе из системы, потому что это поведение по умолчанию для процесса, когда он получает сигнал SIGHUP.

Обратите внимание, что написание демона - это нечто большее, чем просто вызов демона (3). См. Как написать демон unix для получения дополнительной информации.

4 голосов
/ 19 декабря 2011

Я думаю, что это предотвращает случайное закрытие приложения, и у вас есть еще один бесплатный терминал. Но я лично не вижу большой разницы между "экранной" программой и "демонизацией"

...