ZNC를 서비스로 시작할 수 없습니다.

ZNC를 서비스로 시작할 수 없습니다.

우선, 이것은 발견된 것과 똑같은 문제입니다여기, 그러나 내 경우에는 주어진 솔루션이 작동하지 않습니다.

배경

저는 CentOS 6 VPS를 실행 중이고 여기서 ZNC Bodyguard를 실행하고 싶습니다. 처음에 서비스를 구성했는데 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]

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"

(즉, 표준 오류 리디렉션 제거, 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.

관련 정보