Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过/etc/rc.local运行我的node.js应用程序?_Javascript_Node.js_Raspberry Pi - Fatal编程技术网

Javascript 如何通过/etc/rc.local运行我的node.js应用程序?

Javascript 如何通过/etc/rc.local运行我的node.js应用程序?,javascript,node.js,raspberry-pi,Javascript,Node.js,Raspberry Pi,我想从我的raspberry pi运行一个节点应用程序。应用程序应该在引导时启动 我已在/etc/rc.local(出口0之前)中包含以下行: 我首先导航到正确的文件夹,然后从那里运行bot。但是,当我重新启动raspberry pi时,节点应用程序没有运行。因此,似乎rc.local未执行或无法执行我提供的行 我正在寻找一种解决方案,以便应用程序在启动时运行。保存此选项 [Unit] Description=Node JS Script Service After=network.target

我想从我的raspberry pi运行一个节点应用程序。应用程序应该在引导时启动

我已在/etc/rc.local(出口0之前)中包含以下行:

我首先导航到正确的文件夹,然后从那里运行bot。但是,当我重新启动raspberry pi时,节点应用程序没有运行。因此,似乎rc.local未执行或无法执行我提供的行

我正在寻找一种解决方案,以便应用程序在启动时运行。

保存此选项

[Unit]
Description=Node JS Script Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/node /path/to/hello_env.js
Restart=on-failure

[Install]
WantedBy=multi-user.target
至/etc/systemd/system/as
nodescript.service
sudo systemctl后台程序重新加载
sudo systemctl start nodescript
如果它工作,让它在启动时启动
sudo systemctl enable nodescript

我已经看到(类似)使用的示例

请注意
。如您所见,
重定向标准输出(stdout)。如前所述

用于立即向程序发送EOF,这样程序就不会等待输入(
/dev/null
,空设备,是一个特殊文件,它丢弃所有写入的数据,但报告写入操作成功,并且不向任何从中读取的进程提供数据,从而立即产生EOF)
&
是一种特殊类型的命令分隔符,用于对前面的过程进行后台处理


由于您没有使用
,可能您的程序被卡住了,正在等待一些输入。最后的
&
使程序在后台运行。尽量不包括它,看看你的Rasberry Pi是否仍在启动。如果没有,您知道您的程序会持续运行并阻止进一步启动;当您使用
&
符号时,您的程序在一个单独的进程中失败。在这种情况下,将
更改为
谢谢,我尝试了这个。但是,当我运行sudo systemctl start nodescript时,它告诉我它失败了
无法启动Node JS脚本服务
很抱歉回答得太晚,但解决方案应该是
chmod 644/etc/systemd/system/nodescript.Service
再次感谢您的回复。然而,它似乎仍然不能正常工作,当我运行
sudo systemctl start nodescript时,什么也没有发生。运行
systemctl status nodescript.service
后,我得到以下输出:我知道这是一篇旧文章,但您是否找到了修复方法?我和@K.tilmanow遇到了同样的问题,因为你在回复这篇我完全忘记提到的旧帖子时,你的脚本需要有执行标志当然
chmod+x/path/to/hello_env.js
[Unit]
Description=Node JS Script Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/node /path/to/hello_env.js
Restart=on-failure

[Install]
WantedBy=multi-user.target
cd /home/pi/PPBot
node bot.js < dev/null &
cd /home/pi/PPBot
node bot.js > dev/null &