функция демона не работает в 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

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


Я добавил эту строку, и она все еще делает то же самое. Я не понимаю, что вы хотите, чтобы я приклеил? Весь файл, из которого я дал фрагмент?
Крис Уоттс

1
@CJxD Да. Пожалуйста, сделай так.
13


@CJxD Извини. Можете ли вы попробовать это с . /etc/init.d/functions, как я написал в своем ответе?
13

1
Ничего! Это сработало, файл просто не загружался на сервер, когда я его сохранял. D'о!
Крис Уоттс

0

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

yum install -y initscripts

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


1
Вполне возможно, что система может быть испорчена таким образом, чтобы эта команда помогла. Это, однако, не очень вероятное объяснение. Более старый ответ дает гораздо более вероятное объяснение симптомов (и оно оказалось правильным).
Касперд
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.