博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记一次空格引发的错误
阅读量:5040 次
发布时间:2019-06-12

本文共 1168 字,大约阅读时间需要 3 分钟。

  前段时间测试那边和我说我之前写的一个统计查询数据异常,然后我就从界面开始一点一点排查,浪费了半个多小时时间终于查出了原因,在这里记录一下以提醒自己,同时告诫大家写程序时一定要小心,写完后要检查一遍。

  原因:这个统计系统是要统计每个游戏中用户操作用来对数据分析,但是因为之前历史遗留的原因数据都放到一个表中,导致我这边查询异常缓慢。

  经过:因为之前的统计配置已经在安装包中配置好了,重新修改无疑会增加很大的工作量,所以我这边准备写一个perl程序(tnlog.pl)手动的将统计数据从总的统计表中插入到分游戏表中并删除总游戏表中的数据用来提高效率,同时写一个监控查询监控我写的perl程序是否挂掉,一旦挂掉就重启这个程序,最后在linux服务器上添加计划任务不断运行监控程序使数据能够实时传递。

  结果:经过我的排查发现我写的那个将数据从总游戏中插入分游戏表的程序(tnlog.pl)一直在不断启动,最后发现是我再action_list的参数有空格导致无法查到插数据的perl程序在运行,所以一直在不断启动那个程序,导致数据出现异常

  下面附录我写的那个监控插入数据运行的perl程序:

  

#!/usr/bin/perl$user = "root"; #程序所属用户$proghome = '/root/dtj';@action_list = (#               #######   由tnlog统计表向各游戏表导入数据                'tnlog.pl brick',                'tnlog.pl pudding',##               #                                      );$ps =`ps auxw |grep $proghome |grep -v grep`;#print "$ps\n";foreach $act (@action_list) {        $action = "$proghome/$act";        #print "$action\n";        if($ps !~ /$action/) {                print "$act is not running ...start it !!!\n";                system("$action > /dev/null&");        }}

总结:写程序时一定要小心,不要忽视任何的特殊符号(尤其是空格,特别不好检查),写完要再检查一遍,并亲自运行一下以保证程序的正常运行

转载于:https://www.cnblogs.com/dtj007/p/5126340.html

你可能感兴趣的文章
drf权限组件
查看>>
输入月份和日期,得出是今年第几天
查看>>
利用mysqldump备份mysql
查看>>
Qt中子窗口全屏显示与退出全屏
查看>>
使用brew安装软件
查看>>
[BZOJ1083] [SCOI2005] 繁忙的都市 (kruskal)
查看>>
吴裕雄 python 机器学习——数据预处理嵌入式特征选择
查看>>
Centos6.4安装JDK
查看>>
201521123069 《Java程序设计》 第4周学习总结
查看>>
线性表的顺序存储——线性表的本质和操作
查看>>
【linux】重置fedora root密码
查看>>
用swing做一个简单的正则验证工具
查看>>
百度坐标(BD-09)、国测局坐标(火星坐标,GCJ-02)和WGS-84坐标互转
查看>>
pig自定义UDF
查看>>
输入名字显示其生日,没有则让输入生日,做记录
查看>>
爬虫综合大作业
查看>>
Kubernetes 运维学习笔记
查看>>
并查集 经典 畅通工程
查看>>
Spark MLlib 之 Naive Bayes
查看>>
php修改SESSION的有效生存时间
查看>>