import os import subprocess import sys import time def check_port_available(port): """检查端口是否被占用""" import socket try: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind(("0.0.0.0", port)) return True except OSError: return False def start_node_red(): # 设置 Node-RED 的用户目录 user_dir = "/usr/src/node-red" # 检查端口是否可用 port = 1880 if not check_port_available(port): print(f"Port {port} is already in use. Exiting...") sys.exit(1) # 启动 Node-RED print("Starting Node-RED...") subprocess.run(["node-red", "--userDir", user_dir]) if __name__ == "__main__": start_node_red()