在 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 文件,然后重新启动守护进程。