摘要:在linux想要运行启动一个服务有两种方法: 1,运行/etc/init.d/目录下的shell脚本,还可以有快捷方式,service *** start/ stop/restart /status, 2,直接运行/usr/bin目录下的服务文件; 第一种方法启动的程序可以通过service命令来管
阅读全文
12 2016 档案
摘要:我们经常会碰到这样的问题,用ssh登录了远程的Linux服务器,运行了一些耗时较长的任务,结果却由于网络等的不稳定导致任务中途失败。这是由于在用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。解决办法有两种:让进程忽略HUP信号,或让进程运行在新的会
阅读全文
摘要:功能 列出.o .a .so中的符号信息,包括诸如符号的值,符号类型及符号名称等。所谓符号,通常指定义出的函数,全局变量等等。 使用 nm [option(s)] [file(s)] 有用的options: -A 在每个符号信息的前面打印所在对象文件名称; -C 输出demangle过了的符号名称;
阅读全文
摘要:一 service与一般的程序的区别 service(也称为daemon)表示后台运行的程序,一般随系统的启动自动地启动且在用户logoff后仍然能够继续运行。该daemon进程一般在启动后需要与父进程断开关系,并使进程没有控制终端(tty)。因为daemon程序在后台执行,不需要于终端交互,通常就
阅读全文
摘要:在svn版本库的hooks文件夹下面,复制模版pre-commit.tmpl 1 2 1 2 nano 编辑,如下:
阅读全文
摘要:1、在.proto文件中定义消息格式 2、使用protobuf编译器 3、使用c++ api来读写消息 0、为何使用protobuf? 1、原始内存数据结构,可以以二进制方式sent/saved.这种方式需要相同的内存布局和字节序。 2、以ad-hoc方式将数据项编码成一个简单字符串 比如,将4个i
阅读全文
摘要:常用命令 du -h --max-depth=1 |grep [TG] |sort #查找上G和T的目录并排序 du -sh #统计当前目录的大小,以直观方式展现 du -h --max-depth=1 |grep 'G' |sort #查看上G目录并排序 du -sh --max-depth=1
阅读全文
摘要:我们最近将快盘上的东西迁移到了svn上,因为快盘总是不会不小心删掉或者修改了某些文件。为了能保留历史记录我们统一迁移到svn上。为了方便权限管理,我对比了几个svn的权限管理工具,最后觉得还是usvn功能最强大。可以将权限按组分配,且每个组内可以有组长去管理组内资源。 usvn 依赖很多库 yum
阅读全文
摘要:现在先抛出问题,假设有一个主数据中心在北京M,然后有成都A,上海B两个地方数据中心,现在的问题是,假设成都上海各自的数据中心有记录变更,需要先同步到主数据中心,主数据中心更新完成之后,在把最新的数据分发到上海,成都的地方数据中心A,地方数据中心更新数据,保持和主数据中心一致性(数据库结构完全一致)。
阅读全文
摘要:最近尝试了下在Linux(CentOS6.5)环境下安装与配置SVN服务器端,安装过程中碰到了一些问题,参看了网友们分享的一些心得,并通过自己实际的操作,最终安装与配置成功!总的来说网上的说法芸芸,大致都相同,但是有些细节不够详细或者不够到位,所以根据自己亲身经历,记录下安装与配置过程,仅供大家参看
阅读全文
摘要:1. 采用源文件编译安装。源文件共两个,为: subversion-1.6.1.tar.gz (subversion 源文件) subversion-deps-1.6.1.tar.gz (subversion依赖文件) 注意文件版本必须一致,否则很容易产生各种奇怪的问题. 2. 上传以上两个文件到服
阅读全文
摘要:当前为了满足比较火热的移动 Web 端直播需求, 一系列的 HTML5 直播技术迅速的发展了起来. 常见的可用于 HTML5 的直播技术有 HLS, WebSocket 与 WebRTC. 今天我要向大家介绍一下 WebSocket 与 MSE 相关的内容, 并在最后通过一个实际的例子, 来展示其具
阅读全文
摘要:在描述CDN的实现原理,让我们先看传统的未加缓存服务的访问过程,以便了解CDN缓存访问方式与未加缓存访问方式的差别: 用户提交域名→浏览器对域名进行解释→得到目的主机的IP地址→根据IP地址访问发出请求→得到请求数据并回复 由上可见,用户访问未使用CDN缓存网站的过程为: 1)、用户向浏览器提供要访
阅读全文
摘要:在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(pat
阅读全文
摘要:I want a build rule to be triggered by an include directive if the target of the include is out of date or doesn't exist. Currently the makefile looks
阅读全文
摘要:最近编译源文件发现当修改头文件后,make并不会自动把包含此头文件的所有源文件重新编译,而每次都是需要把对应的中间文件清除才能重新编译,非常的麻烦。因此需要make自动对源文件所依赖的头文件进行管理,即make自动生成依赖文件。鉴于本人的刚开始写的博客,很多方面经验不足,比如如何介绍我所用到的知识等
阅读全文
摘要:手工编写依赖关系不仅工作量大而且极易出现遗漏,更新也很难及时,修改源或头文件后makefile可能忘记修改。为了解决这个问题,可以用gcc的-M选项自动生成目标文件和源文件的依赖关系。-M选项会把包含的系统头文件以及其所包含的其他系统头文件也找出来了,如果我们不需要输出系统头文件的依赖关系时,可以用
阅读全文
摘要:-include和sinclude -include和sinclude 如果有文件没有找到的话,make会生成一条警告信息,但不会马上出现致命错误。它 会继续载入其它的文件,一旦完成makefile的读取,make会再重试这些没有找到,或 是不能读取的文件,如果还是不行,make才会出现一条致命信息
阅读全文
摘要:除非明确说明,本文内容仅针对x86/x86_64的Linux开发环境,有朋友说baidu不到,开个贴记录一下(加粗字体是关键词):用“-Wl,-Bstatic”指定链接静态库,使用“-Wl,-Bdynamic”指定链接共享库,使用示例:-Wl,-Bstatic -lmysqlclient_r -ls
阅读全文
摘要:注意:编译器为gcc,若使用g++,请在库里面加上extern “C” 两个静态库 首先测试静态链接库,大概的代码如下: liba.c #include <stdio.h> #include <stdlib.h> #include "libA.h" void libA() { common(); }
阅读全文
摘要:so文件:动态库a文件: 静态库exe文件:可执行程序(linux下以文件属性来标示是否是可执行文件,与后缀名无关)经过自己写的一些测试程序,大致了解了下gcc中链接顺序问题,总结出以下几点:1,动态库中可以包含另一个静态库,通过参数 -lxxx 把静态库libxxx.a加入so文件中,这样so文件
阅读全文
摘要:我的环境: centos6 x64. gcc4.4.7 在使用gcc/g++ 编译程序时我们希望指向一些库是使用静态的链接方式. 另外的一些是动态的方式. 我以boost 为例. 如果我们要使用静态库则是这样的: # g++ main.cpp -lpthread /usr/lib64/libboos
阅读全文
摘要:在串口设置中,有以下两个参数可以决定是否阻塞。 在打开串口时不加O_NODELAY,可用下面的第二种方法,来进行阻塞/非阻塞的设定 c_cc[VTIME] 非规范模式读取时的超时时间(单位:百毫秒),可以这么理解,从接收到后一个字节开始计时,如果超时,则退出READ c_cc[VMIN] 非规范模式
阅读全文
摘要:一 在应用程序需要连接外部库的情况下,linux默认对库的连接是使用动态库,在找不到动态库的情况下再选择静态库。使用方式为: gcc test.cpp -L. -ltestlib 如果当前目录有两个库libtestlib.so libtestlib.a 则肯定是连接libtestlib.so。如果要
阅读全文
摘要:内存分析工具valgrindvalgrind辅助工具qcachegrind 可视化查看valgrind结果淘宝DBA团队发布的监控脚本,使用perl开发,可以完成对linux系统和MySql相关指标的实时监控orzdba 取指定进程名的pidpidof 进程名性能瓶颈查看:perf top -p p
阅读全文
摘要:// a.h extern void foo(); // a.cpp #include <stdio.h> void foo() { printf("foo\n"); } // x.cpp #include "a.h" int main() { foo(); return 0; } // Makef
阅读全文
摘要:遇到如下情况,主程序通过dlopen来打开.so文件,但是.so用到了主程序的log函数。 编译so时,通过引用主程序头文件来编译通过,头文件有log函数声明: extern "C" { void print() } 在主程序的.c文件里有函数的具体实现。 但是dlopen后运行so中函数时,出现找
阅读全文
摘要:首先 --whole-archive 和 --no-whole-archive 是ld专有的命令行参数,gcc 并不认识,要通gcc传递到 ld,需要在他们前面加 -Wl,字串。 --whole-archive 可以把 在其后面出现的静态库包含的函数和变量输出到动态库,--no-whole-arch
阅读全文
摘要:makefile 分析1 -p 选项,可以打印出make过程中的数据库, 下面研究一下内置的变量和规则。 -n 选项, 只运行,不执行, -d 选项,相当于--debug=a, b(basic),v(verbose),i(implicity),j(innvocation of command),m(
阅读全文
摘要:获得Unix/Linux系统中的IP、MAC地址等信息 中高级 | 2010-07-13 16:03 | 分类:①C语言、 Unix/Linux、 网络编程 ②手册 | 4,471 次阅读 作者:diaoyf | 文章来源:http://programmerdigest.cn 作者:diaoyf |
阅读全文
摘要:在开发项目时候,难免要查看日志排查错误。之前只会用cat , more, less, tac, tail的简单功能, 但在实际工程中还是不够用的,至少效率很低。今天抽空看了下以下的博客,并实际进行了简单的操作。 希望以后多用一些这样的方式加快自己的错误排查效率,提高整体的工作效率。 参考文章: ht
阅读全文
摘要:众所周知linux中命令cat、more、less均可用来查看文件内容,主要区别有:cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况;more和less一般用于显示文件内容超过一屏的内容,并且提供翻页的功能。more比cat强大,提供分
阅读全文
摘要:Linux中nl命令和cat命令很像,不过nl命令会打上行号,属于比较不常用的命令,下面随小编一起来了解下这个鲜为人知的nl命令吧。 nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设
阅读全文
摘要:简介 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储
阅读全文
摘要:目录(?)[-] 使用变量 ———— 在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方。其与C/C++所不同的是,你可以在Makefile中改变其值。在Makefile中,变量可以使用在“目标”
阅读全文
摘要:嵌套执行make 在一些大的工程中,我们会把我们不同模块或是不同功能的源文件放在不同的目录中,我们可以在每个目录中都书写一个该目录的Makefile,这有利于让我们的Makefile变得更加地简洁,而不至于把所有的东西全部写在一个Makefile中,这样会很难维护我们的Makefile,这个技术对于
阅读全文
摘要:http://blog.csdn.net/leexiang_han/article/details/9274229 学习了几天的makefile的嵌套调用编写也有一些心得,先声明,我也是初学者写文章只是为了更好的交流,也希望避免其他刚入Linux编程大门的童鞋少走弯路。以下都是经过我多次测试并跑成功
阅读全文
摘要:一、文本处理函数以下是GNU make内嵌的文本(字符串)处理函数。1 $(subst FROM,TO,TEXT)函数名称:字符串替换函数—subst。函数功能:把字串“TEXT”中的“FROM”字符替换为“TO”。返回值:替换后的新字符串。示例:$(subst ee,EE,feet on the
阅读全文