|
|
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(): |
|
|
|
|
|
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) |
|
|
|
|
|
|
|
|
print("Starting Node-RED...") |
|
|
subprocess.run(["node-red", "--userDir", user_dir]) |
|
|
|
|
|
if __name__ == "__main__": |
|
|
start_node_red() |