闪搭空间 OS操作中心
全部指南
智能硬件

TCP 电控配置与运行中断排查

TCP 电控使用总览 本专题覆盖 TCP 设备选型、服务进程、端口、控制命令、关联设备、运行中断排查和自定义命令。首次接入请按下列顺序完成,不要只配置设备而跳过服务进程与端口放行。 一、接入前确认 1、向设备厂家确认

010GUIDE
闪搭智慧空间 OS 官方操作指南

TCP 电控使用总览

本专题覆盖 TCP 设备选型、服务进程、端口、控制命令、关联设备、运行中断排查和自定义命令。首次接入请按下列顺序完成,不要只配置设备而跳过服务进程与端口放行。

一、接入前确认

  1. 1、向设备厂家确认设备支持 TCP 客户端模式。
  2. 2、取得设备的开电、关电和心跳命令;后台使用十六进制命令。
  3. 3、确认每台设备是否有唯一设备 ID 或唯一心跳。如果不能区分,每台设备需要单独使用一个 TCP 端口。
  4. 4、服务器 PHP 需要安装 Swoole 扩展。

二、推荐配置顺序

  1. 1、阅读 TCP设备说明 ↗,确认设备和布线方案。
  2. 2、按照 新版TCP配置 ↗ 创建守护进程并配置服务端口。
  3. 3、按照 TCP设备配置 ↗ 将服务器 IP、端口与控制命令写入设备和系统后台。
  4. 4、有更多自动化场景时,使用 自定义TCP ↗ 配置执行方式、执行场景和时间。
  5. 5、如果进程运行一段时间后终止,直接执行下方排障流程。

TCP 运行一段时间后终止

典型日志:WARNING Server::accept_connection(): accept() failed, Error: Too many open files

出现该错误表示服务器或 TCP 进程允许打开的文件描述符已耗尽。需要查询当前限制,提高进程管理器的 minfds,然后完整停止并重启服务。

第一步:查找 TCP 进程 ID

打开服务器的进程管理器,在 TCP 服务对应的进程信息中找到进程 ID(PID)并记下。

第二步:查询文件描述符限制

通过服务器终端执行:

prlimit --pid 1234 --nofile

将 1234 替换为上一步查到的真实进程 ID。返回结果前面的数值是该进程当前限制,后面的数值是服务器允许的最大限制。记住服务器最大值。

第三步:修改进程管理器配置

打开进程管理器配置文件,找到 minfds=。将原来的 1024 改为上一步查询到的服务器最大文件描述符数量,然后保存。

第四步:重启服务和进程

  1. 1、先停止进程管理器中的全部相关进程。
  2. 2、进入进程管理器的服务设置,重启进程管理器服务。
  3. 3、服务重启完成后,重新启动 TCP 进程。

第五步:复查是否生效

再次执行 prlimit --pid 实际进程ID --nofile。确认进程限制已经提升到服务器最大限制。限制提升后,Too many open files 导致的运行中断通常不会再次出现。

!

注意:修改前请确认 PID 属于当前 TCP 服务;重启过程中 TCP 设备会短暂离线,建议避开营业高峰操作。

步骤截图 01
步骤截图 02
步骤截图 03
步骤截图 04
步骤截图 05
步骤截图 06