функция демона не работает в CentOS 6.4

8

Я пытаюсь демонизировать процесс под другим пользователем.

В моем init.d у меня есть сервис, который выглядит примерно так:

...
start() {
    echo "Starting mydaemon..."
    daemon --user someuser --name mydaemon mycommand
}
...

(весь сценарий здесь: http://pastebin.com/bvpnsHgn )

Тем не менее, все, что я получаю, это daemon: command not found.

Я проверил, что daemon()объявлено в /etc/init.d/functions, но все же я не могу его использовать.

Как я могу решить это?

Крис Уоттс
источник

Ответы:

11

Делали ли Вы уверены, что источник в /etc/init.d/functionsбиблиотеку в init.d сценарии вашего сервиса?

Вам нужно это в вашем скрипте init.d:

# Source function library.
. /etc/init.d/functions

Если это уже есть, не могли бы вы опубликовать стартовый скрипт вашего демона?

ewwhite
источник
Я добавил эту строку, и она все еще делает то же самое. Я не понимаю, что вы хотите, чтобы я приклеил? Весь файл, из которого я дал фрагмент?
Крис Уоттс
1
@CJxD Да. Пожалуйста, сделай так.
13
pastebin.com/bvpnsHgn
Крис Уоттс
@CJxD Извини. Можете ли вы попробовать это с . /etc/init.d/functions, как я написал в своем ответе?
13
1
Ничего! Это сработало, файл просто не загружался на сервер, когда я его сохранял. D'о!
Крис Уоттс
0

Если вам не хватает скриптов, вы можете просто (пере) установить их, это должно daemon: command not foundрешить проблему

yum install -y initscripts

Надеюсь это поможет

Ярослав Панцьоха
источник
1
Вполне возможно, что система может быть испорчена таким образом, чтобы эта команда помогла. Это, однако, не очень вероятное объяснение. Более старый ответ дает гораздо более вероятное объяснение симптомов (и оно оказалось правильным).
Касперд