LINUX.ORG.RU

История изменений

Исправление kostik87, (текущая версия) :

Что в твоём понимании демон? Демоны есть в аду и в FreeBSD.

В современных Linux дистрибутивах есть сервисы.

Которые в зависимости от системы инициализации запускаются:

  • через init скрипты ;
  • systemd unit файлы .

И можно добавлять Init скрипт на уровень запуска или активировать и деактивировать unit файл.

В параметрах init скрипта или unit файла указывается режим запуска процесса приложения и пользователь от которого запускается.

И задается команда запуска.

Далее если сервис включен система инициализации выполняет команду запуска, запускает программу в фоне и перенаправляет её поток вывода в журнал.

Отличия запуска некоторой программы в командной (SHELL) оболочке от запуска через сервис только в том, что сервисом удобнее управлять и можно легко добавить на запуск через систему инициализации при запуске системы и собрать логи.

А относительно приложения - есть режим запуска в background - это как раз таки демон, например nginx с соответствующим ключом или sshd с соответствующим ключом или запуск в режиме, когда приложению нужна активная сессия оболочки.

В первом сообщении в теме я написал что предлагаю:

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

Для этого у этого пользователя должны быть права чтения и записи туда, где хочет читать и писать программа.

В случае запуска через systemd юнит, видимо это вы называете сервисом - есть различные режимы запуска процесса, создания процесса, simple, fork и прочие, читайте документацию systemd.

У вас проблема с пониманием материала или терминологией?

Мне писать более короткие предложения?

Исходная версия kostik87, :

Что в твоём понимании демон? Демоны есть в аду и в FreeBSD.

В современных Linux дистрибутивах есть сервисы.

Которые в зависимости от системы инициализации запускаются:

  • через init скрипты ;
  • systemd unit файлы .

И можно добавлять Init скрипт на уровень запуска или активировать и деактивировать unit файл.

В параметрах init скрипта или unit файла указывается режим запуска процесса приложения и пользователь от которого запускается.

А относительно приложения - есть режим запуска в background - это как раз таки демон, например nginx с соответствующим ключом или sshd с соответствующим ключом или запуск в режиме, когда приложению нужна активная сессия оболочки.

В первом сообщении в теме я написал что предлагаю:

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

Для этого у этого пользователя должны быть права чтения и записи туда, где хочет читать и писать программа.

В случае запуска через systemd юнит, видимо это вы называете сервисом - есть различные режимы запуска процесса, создания процесса, simple, fork и прочие, читайте документацию systemd.

У вас проблема с пониманием материала или терминологией?

Мне писать более короткие предложения?