
Во-первых, это точно такой же вопрос, как и найденныйздесь, но данные решения не сработали в моей ситуации.
Фон
Я использую CentOS 6 VPS и хочу запустить на нем ZNC bouncer. Я изначально настроил службу sudo -u znc znc --makeconf
и не столкнулся с проблемами. Мне удалось успешно ее запустить.
Проблема
Однако я попытался перезапустить ZNC и сразу же столкнулся с проблемами при попытке перезагрузки.
# service znc start
Starting znc: /usr/bin/dirname: extra operand `2>&1.pid'
Try `/usr/bin/dirname --help' for more information.
[FAILED]
Я начал просматривать свой initscript для ZNC и, как и другие указывали в других источниках в Интернете, похоже, возникла проблема с размещением апострофа.
. /etc/rc.d/init.d/functions
exec=/usr/bin/znc
prog=znc
config=/var/lib/znc
runas=znc
lockfile=/var/lock/subsys/$prog
start() {
[ -x $exec ] || exit 5
echo -n $"Starting $prog: "
daemon --user $runas "$exec -d $config >/dev/null 2>&1"
# daemon --user $runas --check $exec "$exec -d $config >/dev/null 2>&1"
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
Попытка исправления
Похоже, проблема daemon
в строке метода . Я попробовал изменить ее следующим образом:start()
daemon --user $runas "$exec" -d $config >/dev/null 2>&1
Однако изменение его на это исправляет ошибку, но когда я пытаюсь запустить ZNC с помощью service znc start
, я получаю просто пустой вывод - ни [OK]
или [FAILED]
не указаны. Служба в конечном итоге не запускается, и это подтверждается service znc status
.
Я запутался в этой проблеме и не уверен, как действовать, чтобы выяснить причину проблемы. Дальнейшие советы по устранению неполадок приветствуются!
решение1
Я решил эту проблему, отредактировав проблемную строку /etc/rc.d/init.d/znc
:
daemon --user $runas "$exec -d $config >/dev/null 2>&1"
к следующему:
daemon --user $runas "$exec -d $config >/dev/null"
(т.е. удалить перенаправление stderr, 2>&1)
Теперь это дает мне подтверждение того, что служба запустилась успешно или что она не заработала:
root@localhost [~]# service znc restart
Stopping znc: [FAILED]
Starting znc: [ OK ]
Кроме того, по крайней мере в моей установке yum (CentOS 6.7), мне также пришлось изменить эту строку в том же файле, чтобы она указывала на правильный каталог конфигурации (строка 12):
config=/var/lib/znc
к:
config=/var/lib/znc/.znc
До этого znc не запускался, так как не мог найти файл конфигурации, который я ранее сгенерировал с помощью sudo -H -u znc znc --makeconf
.