answerwa


  • 首页

记一次 system() 引起的端口抢占

发表于 2017-08-30
写在前面在写代码时,难免需要调用别的命令获取一些信息,这时可以用popen()拿到需要的信息;有时又需要启动其他服务,这时可能会用system()直接调用启动该服务的命令。这次要说的,就是用system()函数调用 daemon 进程可能会引起的问题。 现象描述最近在项目中加入了一个程序A,监听 5081 端口,用于设备间通信。当收到特定的消息时,就会通过 rsync 将指定设备的一些文件拷贝到本机,再重启一些进程。有时就会发现,在重启这些进程的时候,5081 端口可能就会被 B,C,D 进程占用(不是必现,但是很容易复现,而且一定是这几个进程占用)。开始怀疑可能是进程A挂了,被monitor(系统中一个监控各进程生死的脚本)重启了,但是多次发现后确认进程A自始至终没有挂过。还有一个情况是进程 B,C,D 的代码中,并没有监听 5081 端口,有的是监听别的已指定的端口,有的根本则不需要监听端口。而且当进程 A 被杀掉后 B,C,D 必然会监听 5081 端口。 问题分析发现问题后,也没什么眉目,和大家讨论了不少,大家觉得最不可思议的就是,A进程既然没有挂,为何B,C,D进程就能抢到A ...
阅读全文 »

网络知识记录

发表于 2015-05-04
这段时间接触到了好多网络方面的知识,都是些基础知识,不知道就是不知道,因此不得不在平时多多补充网络方面的知识。 现在把平时新学到的知识记录在这里。 域名和别名百度百科有个简单的解释。按照我的理解就是: 假设有一台服务器的ip是192.168.1.1,它可以有www.web1.com,www.web2.com,www.web3.com三个域名;也可以有www.web1.com一个域名,同时有www.web2.com,www.web3.com两个作为www.web1.com这个域名的别名。这两种情况相同的地方是,访问这三个url,都是访问192.168.1.1这台服务器。不同点是如果服务器的ip变成了192.168.1.2,那么第一种情况,需要修改web1,web2,web3,三个域名都需要更改;而第二种情况就只需修改web1就行了。 第一种情况就相当于是三个(web1,web2,web3)指向同一地址的指针;第二种情况是一个(web1)指向地址的指针和两个(web2,web3)指向指针的指针。 VLAN相关此小节参考VLAN原理详解 VLAN概念VLAN(Virtual LAN)即虚 ...
阅读全文 »

2015年3月终总结

发表于 2015-04-07
今天离职了,没有像想象中那么开心,毕竟是离开了一个熟悉的环境。虽然是打算回家乡发展,但是心里面还是有些不舍。和前一个离职的同事聊天的时候,她问我有没有不舍,说她离职的时候也很舍不得,都快哭了。我说 挺舍不得的,但是应该不是舍不得这个公司,而是因为从熟悉的环境变动到陌生的环境,心里有些抵触 。现在真正离开公司了,一个人待在床上,想想看,真的是这样吗。我也不知道。 回想一年多前,从大学来到公司,大家在校园别离时,满是不舍。但是当踏上火车后,却是满心激动,终于是走出校园,进入社会了,对未来有着无限的憧憬。现在跳槽了,心中却满是疑惑。 今天从公司办完离职手续出门,狂风大雨,我就在怀疑自己是不是真的做对了。不过这个就算交给时间,也没办法验证了,因为不可能同时能够知道,5年后或者10年后,我待在现在的公司是怎样,去了新公司又是怎样。姑且就自认为我是个怀旧、伤感的人,所以在离开的时候,才会有这么多的感慨吧。 昨天看了方励在一席的一个演讲–感谢你给我机会上场,说每个人都应该做能让自己得到快的工作,无论你能挣再多的钱,如果工作不能带给你快乐,那么每天都会浪费点8个小时,上班就是在浪费生命。我还是 ...
阅读全文 »

linux_cron

发表于 2015-03-05
背景前段时间由于工作需要,所以比较系统的调查了一下cron,现在总结分享一下。 crond简介crond是linux用来定期执行程序的服务。当安装完成操作系统之后,默认便会启动此服务。crond每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。而linux任务调度的工作主要分为以下两类: 系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存。 个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置。 特别说明一下:系统执行的工作是放在/etc/crontab中,而个人执行的工作是放在/var/spool/cron/user中。另外说明一下:crond是linux的服务,crontab是命令。 安装crontab:yum install crontabs服务操作说明: /sbin/service crond start //启动服务/sbin/service crond stop //关闭服务/sbin/service crond restart //重启服务/sbin/servi ...
阅读全文 »

linux_ntp

发表于 2015-03-05
背景通过设置本地的ntpd服务,实现本地与服务器时间的同步。此文仅简单说明环境的搭建 NTP简介NTP(Network Time Protocol)是一种网络时间协议。是以封包交换把两台电脑的时钟同步化的网络协议。NTP使用UDP端口123作为传输层。它是用作抵销可变延迟的影响。 简单说明一下:NTP是一种协议;ntpd是系统中的服务,在linux下可以通过/sbin/service ntpd status或/etc/init.d/ntpd status来查看此服务的状态;ntpdate,ntpq,ntptrace等是一系列与ntp相关的命令。 安装NTP: yum install ntp一般系统上都会有ntp的包,可以提前通过rpm -qa | grep ntp查看机器上是否已经安装ntp。服务操作说明: /sbin/service ntpd start //启动服务/sbin/service ntpd stop //关闭服务/sbin/service ntpd restart //重启服务/sbin/service ntpd status //查看服务状态 ntpd服务 ...
阅读全文 »

《断舍离》读后感

发表于 2015-03-04
在知乎上看到有人推荐这本书,所以就去下了个pdf(额额~~应该尊重作者,注意版权),塞进pad,每天中午休息的时候随便看看。这一类的书看多少遍都是没用的,关键还是要自己行动起来,“整理”东西(这里的整理打引号是因为作者在书中重新定义了整理二字)。书中说有三种扔不掉东西的人:逃避现实型,执着过去型,担忧未来型。如果非要把我分到这三类中的一种,我估计就算是担忧未来型吧。因为我经常不扔东西的原因就是觉得以后它还能用得着。还记得大学毕业收拾东西的时候,从最下面的柜子里搜出来好多塑料袋,每次一有塑料袋,我就放在里面,结果都没怎么用上。。。。。这本书有点罗嗦,说来说去都在讲一定要扔东西,买真正需要的东西。不过看完了书以后,确实在平时都会下个狠心多扔点不需要的东西,而且平时也会多加注意一下收拾好自己的空间。书中的观点是,当下会用到的东西才是有用的东西;而且还有一个概念是:要将自己作为主体,看这件物品是不是对你有用。因为对于物品来说肯定是有用的。但是对你有没有用,就不得而知了。书中还有一个观点是说通过整理自己的房间,扔掉不需要的垃圾,同时也会扔掉心中的垃圾。书中有个例子是一名丈夫过世十几年的女士,正是 ...
阅读全文 »

su和su -

发表于 2015-02-03
今天晚上突然发现,用普通用户通过putty登陆后,su到root,好多命令没有。。。而且切换到/root目录下source .bashrc和.bash_profile都没有用。1234567891011[zhaojc@centos ~]$ su口令:[root@centos zhaojc]# useraddbash: useradd: command not found[root@centos zhaojc]# cd ~[root@centos ~]# source .bashrc[root@centos ~]# source .bash_profile[root@centos ~]# useraddbash: useradd: command not found[root@centos ~]# echo $PATH/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/zhaojc/bin:/root/bin 网上查了一下,才发现su是所谓的半切换,切换后,还是会保留原用户的环境(细心的话,会发现 ...
阅读全文 »

2015年1月终总结

发表于 2015-02-01
没想到一月份也这么快过去了。从新年开始写让自己学会总结,把平时的学到的,想到的,都要及时记录下来。确实现在也认识到这个问题了,不管是学习,工作还是生活,总结确实是很难,但是真正收获最多的,就是在自己总结的时候。 学习这个月学习方面确实耽搁了不少,晚上回来没有怎么学习,总是有些烦躁,莫名的压力。以前不明白为什么那些人会有压力,现在自己感受到了,但是也还是不知道为什么。中午休息的时候,抽时间看了一下张德芬老师的《遇见未知的自己》,文艺点说就是,做了一次心灵的旅行。其实是第一次接触这一类唯心的理论,怎么说呢,求同存异吧,也确实让我自己内心平静了下来。 工作这个月,工作上突然出现了莫名的压力。这个倒是从来没有过的。我一直都是把工作独立分得比较开的。只在工作的时候考虑工作的事,但是前段时间,不只是工作的八小时觉得压力大,而且每天下班回家也特别愁,所以晚上也不想学习,看书。而且居然有一天早上起床的时候直接就头晕了。。。起不了床。说实话,真的自己也被吓到了。还好后来工作上稍微好点了,身体也调整过来了。还是需要自己及时调整。 生活一个月没有踢球了,一到周末就在家打游戏。但是前两个礼拜终于忍不住了, ...
阅读全文 »

linux_pipe

发表于 2015-01-28
函数介绍定义create pipe,创建管道,包含在头文件 unistd.h 中,定义如下:12#include <unistd.h>int pipe(int pipefd[2]); 参数创建管道后,将文件描述词由参数pipefd数组返回。pipefd[0]为管道的读取端;pipefd[1]为管道的写入端。 返回值成功创建后,返回0,错误则返回-1,并将错误原因写入errno中。 测试代码123456789101112131415161718192021222324252627282930313233343536373839404142434445#include <sys/wait.h>#include <assert.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>intmain(int argc, char *argv[]){ int pipefd[2]; pid_t ...
阅读全文 »

《遇见未知的自己》读后感

发表于 2015-01-20
花了大概一个礼拜时间,每天中午休息的时候把这本书看完了,怎么说呢,第一次接触这一类的书。感觉是比较唯心的。主张我们应该注重自己的内心,找到真我。书中一些看法还是比较认同的,大概说一下看完之后的印象吧。另外补充一点,现在愈发得觉得看电子书更方便了,在看到一些好的句子时,可以直接就勾画下来了。 对待事件事件本身来说是中立的,而由于每个人对待同一件事件的态度是不一样的,因此产生了不同的结果。书中举的例子是:当儿媳妇回家看到婆婆脸色不好,这时就要看这个儿媳妇对婆婆的态度了。如果这个儿媳妇以前就认为这个婆婆不喜欢她,那么肯定就会认为婆婆是给她脸色看;否则应该就会认为婆婆可能是身体不好。这是一个简单的例子,但是确实也说明了一些道理。我自己还是比较认同。 对待事情书中主张将事情分为三种:老天的事,别人的事,自己的事。我们只需管好自己的事就好了。这个理论乍一看会觉得有一些自私。但是这一点我确实是很有感触的。我记得高中的时候,老是喜欢去说教别人,学习上,生活上都是。从出发点来说,其实是关心别人,但是结果是,别人可能会觉得你装,而且不领情。所以后来我也一直坚持的一个观点就是,我首先做好我自己的事,别人的事 ...
阅读全文 »
12
Zhao Junchi

Zhao Junchi

Only The Strong Survive

12 日志
9 标签
RSS
© 2015 — 2017 Zhao Junchi
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.2