【发布时间】:2014-06-28 15:35:41
【问题描述】:
我似乎找不到任何能完全做到这一点的东西,我在谷歌上花了 2 个小时试图找到一个解决方案,我只是受够了。我确定这是一个简单的解决方案,但我似乎找不到它。
我需要将位于 /var/www/Game/Sockets/ChatServer.php 中的 .php 文件作为守护程序运行。该文件在基于浏览器的游戏中充当我的聊天系统的 Socket 服务器。然而,尽管尝试了许多不同的事情,我无法让它在启动时启动。我可以使用“service ChatServerDaemon start”来启动守护进程,但在启动时它不起作用。我在 init.d 中找到的文件是:
#! /bin/sh
# Installation
# - Move this to /etc/init.d/myservice
# - chmod +x this
#
# Starting and stopping
# - Start: `service myservice start` or `/etc/init.d/myservice start`
# - Stop: `service myservice stop` or `/etc/init.d/myservice stop`
#ref http://till.klampaeckel.de/blog/archives/94-start-stop-daemon,-Gearman-and-a- little-PHP.html
#ref http://unix.stackexchange.com/questions/85033/use-start-stop-daemon-for-a-php- server/85570#85570
#ref http://serverfault.com/questions/229759/launching-a-php-daemon-from-an-lsb-init- script-w-start-stop-daemon
NAME=ChatServerDaemon
DESC="Chat Server Daemon for Taloren."
PIDFILE="/var/run/${NAME}.pid"
LOGFILE="/var/log/${NAME}.log"
DAEMON="/usr/bin/php"
DAEMON_OPTS="/var/www/Game/Sockets/ChatServer.php"
START_OPTS="--start --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} ${DAEMON_OPTS}"
STOP_OPTS="--stop --pidfile ${PIDFILE}"
test -x $DAEMON || exit 0
set -e
case "$1" in
start)
echo -n "Starting ${DESC}: "
start-stop-daemon $START_OPTS >> $LOGFILE
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon $STOP_OPTS
echo "$NAME."
rm -f $PIDFILE
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon $STOP_OPTS
sleep 1
start-stop-daemon $START_OPTS >> $LOGFILE
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
我很生气,也厌倦了试图让它发挥作用。请有人可以帮我解决这个问题。如果答案很明显,我很抱歉。 :/
【问题讨论】:
-
您只是想在启动时开始工作还是想在退出时重新生成它?
标签: php linux sockets debian init.d