linux 错误记录
记录linux下编程出现的错误
一缕阳光宣泄、整个世界
这个作者很懒,什么都没留下…
展开
-
linux 错误:too many open files解决方法
too many open files错误是由于程序使用的句柄(打开的文件、socket、线程句柄等)过多导致的,一般linux系统默认1024,可输入指令: ulimit -a 查询当前设定的句柄上限。使用命令lsof -p 进程id可以查看单个进程所有打开的文件详情,如果文件数过多使用lsof -p 进程id命令无法完全查看的话,可以使用lsof -p 进程id > openfiles.log将执行结果内容输出到日志文件中查看。修改方式:一、临时命令指令 ulimit -n 2048 把当原创 2020-08-26 17:11:11 · 3839 阅读 · 0 评论 -
调用thrift报错:Invalid method name:‘XXXX’
使用thrift过程中失败,返回 Invalid method name 错误。网上查找资料,大致分为以下几点:1、调用服务的IP、端口是否正确;2、客户端调用的远程方法,服务端并未暴露出来,详见Thrift常见异常及原因分析;3、使用的传输层不一致导致的,客户端使用 TBufferedTransport ,服务端使用 TFramedTransport。在判断上述无误后,找到问题:TMultiplexedProtocol 构造函数的服务名与实际类服务名不一致,EquipInfoRAoClient 类原创 2020-08-13 15:51:41 · 2580 阅读 · 0 评论 -
linux下tm未初始化导致的时间异常
在linux下,若想使用 struct tm 从一个字符串中获取时刻秒数,则必须初始化。下面的示例代码,在服务器中运行时,tmTime 的值会出现不为1595410483 的情况,导致程序处理出错。 struct tm when; time_t tmTime = 0; std::string strTime = "2020-07-22 17:34:43"; sscanf(strTime.data(), "%d-%d-%d %d:%d:%d", &when.tm_year,原创 2020-07-22 18:02:58 · 1018 阅读 · 0 评论 -
linux 串口读取全为0
最近碰到一个linux串口读取问题,蓝牙转USB接到设备上,软件运行在linux容器上,read函数调用成功,读取的数据长度与发送长度一致,但是读取内容全部为0,后面修改波特率后,能正常读取到数据。...原创 2020-06-25 11:46:32 · 1176 阅读 · 0 评论 -
paho mqtt调用MQTTClient_connect失败,返回MQTTCLIENT_BAD_STRUCTURE(-8)
1、问题描述使用编译好的库文件,从githup上下载头文件,运行时MQTTClient_connect调用失败,返回MQTTCLIENT_BAD_STRUCTURE;MQTTCLIENT_BAD_STRUCTURE在MQTTClient.h中是struct_id或struct_version 不正确,其定义为:/** * Return code: A structure parameter...原创 2020-01-19 14:08:56 · 8716 阅读 · 3 评论