0

我已经使用 Intel Galileo 玩了一段时间,并创建了一个 node.js 和 express 服务器,我一直在使用它。我现在正试图让我的命令在机器启动时触发,但我很挣扎。我使用了下面的方法,让我知道哪些日志等有用,我可以提供它们:

# check its working
/home/root/node_modules/forever/bin/forever start -m 1 -l /home/root/server_log.log -o /home/root/server_log.log -e err.log /home/root/server.js

# set up autostart
vi /etc/init.d/express-server.sh
    Add:
        #! /bin/sh

        case "$1" in
          start)
            echo "Starting express server"
            /home/root/node_modules/forever/bin/forever start -m 1 -l /home/root/server_log.log -o /home/root/server_log.log -e err.log /home/root/server.js
            ;;
          stop)
            echo "Stopping express server"
            /home/root/node_modules/forever/bin/forever stop 0
            ;;
          *)
            echo "Usage: /etc/init.d/express-server {start|stop}"
            exit 1
            ;;
        esac

        exit 0

# update to allow executable
chmod +x /etc/init.d/express-server.sh
4

2 回答 2

1

您需要创建一个从 /etc/rcS.d 到启动脚本的链接
$> cd /etc/rcS.d
$> ln -s /etc/init.d/express-server.sh SNNexpress-server.sh

其中 NN 是您选择的一个数字,用于确定在启动序列期间您希望脚本何时被调用。如果您的脚本依赖于网络,那么它应该在调用网络服务后启动。

于 2014-07-22T18:12:49.847 回答
0

您还可以使用 Intel XDK IoT 版本 ( https://software.intel.com/en-us/html5/xdk-iot )将您的 Node.js 代码上传到您的 Galileo ,它会在重新启动后继续存在。

于 2015-04-30T23:40:51.753 回答