初始化脚本“崩溃”

初始化脚本“崩溃”

在 gentoo 中迁移到新的 baselayout2 后,我总是

 rtorrentd                               [  crashed  ]

即使它在屏幕上运行没有问题。

以下是conf.d:

# Owner of screen session and rtorrent process
USER="zerkms"

# Home dir with .rtorrent.rc
HOME_DIR="/home/zerkms"

# Screen options for starting rtorrent
SCREEN_OPTS="-dmS rtorrent /usr/bin/rtorrent"

# Path to *.pid file
PIDFILE="/var/run/screen.pid"

# Path to 'screen' binary
SCREEN_BIN="/usr/bin/screen"

# Path to 'rtorrent' binary
RTORRENT_BIN="/usr/bin/rtorrent"

并相应地 init.d:

depend() {
        need net
}

start() {
        ebegin "Starting screen & rtorrent"
        env HOME=${HOME_DIR} start-stop-daemon --start --background --make-pidfile --pidfile ${PIDFILE} \
        --chuid ${USER} --exec ${SCREEN_BIN} -- ${SCREEN_OPTS}
        eend $?
}

stop() {
        ebegin "Stopping screen & rtorrent"
        start-stop-daemon --stop --quiet --exec ${RTORRENT_BIN}
        eend $?
}

restart() {
        ebegin "Restarting screen & rtorrent"
        svc_stop
        sleep 2
        svc_start
        eend $?
}

尝试与任何有效的 init.d 脚本进行比较,但未发现任何显著差异。知道为什么[crached]会出现该标签吗?

答案1

检测守护进程是否崩溃的正常方法是存在 PID 文件,但没有具有该 PID 的守护进程。守护进程在正常关闭期间会删除 PID 文件,但在崩溃后会保留该文件。

如果您认为检测有误,那么您应该关闭守护进程,删除 PID 文件,然后重新启动守护进程。

相关内容