node-red学习笔记——通过java远程调用linux shell初始化node-red并启动

大体思路:通过java远程调用linux shell,创建node-red的flows_xxx.json文件,然后启动node-red并指定json文件。

(在node-red操作界面添加的节点都会保存到相应json文件中,windows默认保存位置:C:\Users\LENOVO\.node-red,linux:~/.node-red。保存位置可以在启动服务的时候去指定

Usage: node-red [-v] [-?] [--settings settings.js] [--userDir DIR] [flows.json]

Options:
  -s, --settings FILE  use specified settings file
  -u, --userDir  DIR   use specified user directory
  -v                   enable verbose output
  -?, --help           show usage

建议看下官方文档 https://nodered.org/docs/getting-started/running,推荐使用谷歌浏览器直接右键翻译)

先放shell脚本:

#!/bin/bash
PRODUCT_ID=$1
FILE_NAME="flows_"$PRODUCT_ID".json"
PORT=$2
#create new flows_xxx.json
cd /usr/soft/node-red-flows
touch $FILE_NAME
# startup node-red server
nohup node-red -p $PORT $FILE_NAME > myout.file 2>&1 &
# return pid
printf $!"end"

需要传递两个参数,产品id和端口号(当初的想法是一个产品一个端口号,启动一个node-red。其他方案参考:多个产品只部署且公用一个node-red服务,点开不同产品去查询加载到ui界面上,但是还有一个问题,如果这样的话,没有点开的产品所在的node-red服务也必须是启动的,所以你得会去改源码,有兴趣的可以去研究下)

注:脚本最后返回node-red服务占用的PID号,为以后停止服务杀进程做准备

nohup 命令 > 打印输出文件 2&g

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值