init.d 服务已死亡

init.d 服务已死亡

我从 Linux 论坛上改编了一些代码,在我的 ubuntu natty 服务器上的 /etc/init.d 中添加了一个服务脚本,用于启动/停止/重新启动 node.js。实际上,在我制作它的第一天,它就正常工作了,但是今天,在今天早上查看我的网站后,服务器抛出了 404,经过进一步检查,node.js 进程消失了。所以我再次启动该服务,只是这一次,node.js 根本没有启动,从那以后,我一直无法让我的服务脚本正常工作。

以下是整个脚本:


#!/bin/sh
#
# Node Server Startup
#

case "$1" in
  start)
        echo -n "Starting node: "
        daemon node /usr/local/www/server.js
        echo
        touch /var/lock/subsys/node
        ;;
  stop)
        echo -n "Shutting down node: "
        killall node
        echo
        rm -f /var/lock/subsys/node
        rm -f /var/run/node.pid
        ;;
  status)
        status node
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  reload)
        echo -n "Reloading node: "
        killall node -HUP
        echo
        ;;
  *)
        echo "Usage: $0 {start|stop|restart|reload|status}"
        exit 1
esac

exit 0

谢谢你的帮助!

答案1

您改编的脚本是为基于 Red Hat 的编写的。基于 Debian 的传统 SysV init 脚本在功能中使用start-stop-daemon而不是。Ubuntu 11.04 使用daemonstart()暴发户。 看一眼例如。

答案2

这可能是一个愚蠢的问题,但是您在尝试启动服务之前是否删除了 /var/lock/subsys/node 和 /var/run/node.pid?

相关内容