06 2017 档案
摘要:在多个进程同时操作同一份文件的过程中,很容易导致文件中的数据混乱,需要锁操作来保证数据的完整性,这里介绍的针对文件的锁,称之为“文件锁”-flock。flock,建议性锁,不具备强制性。一个进程使用flock将文件锁住,另一个进程可以直接操作正在被锁的文件,修改文件中的数据,原因在于flock只是用
阅读全文
摘要:详细的文档见tcpdump高级过滤技巧 基本语法 过滤主机 抓取所有经过 eth1,目的或源地址是 192.168.1.1 的网络数据# tcpdump -i eth1 host 192.168.1.1- 源地址# tcpdump -i eth1 src host 192.168.1.1- 目的地址
阅读全文
摘要:https://www.zhihu.com/question/22693759
阅读全文
摘要:http://network.51cto.com/art/201310/413853.htm 1. IP 网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。 IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层 TCP或UDP层;相反,IP层也把从T
阅读全文
摘要:对应C++11中的unique_ptr scoped_ptr的所有权更加严格,不允许转让,对其赋值和拷贝都是不合法行为,因而显得更轻巧和快捷。 scoped_ptr重载了operator*()和operator->()解引用操作符*和箭头操作符->,因此可以把scoped_ptr对象如同指针一样使用
阅读全文
摘要:上面的例子基本覆盖到了lambda表达的基本用法。我们一个个来分析每个例子(标号与上面代码注释中1,2,3,4一致): (1)这是最简单的lambda表达式,可以认为用了lambda表达式的find_if和下面使用了functor的find_if是等价的 (2)这个是有返回值的lambda表达式,返
阅读全文
摘要:bind是这样一种机制,它可以预先把指定可调用实体的某些参数绑定到已有的变量,产生一个新的可调用实体,这种机制在回调函数的使用过程中也颇为有用。 例子中:bf1是把一个两个参数普通函数的第一个参数绑定为10,生成了一个新的一个参数的可调用实体体; bf2是把一个类成员函数绑定了类对象,生成了一个像普
阅读全文
摘要:C++中,可调用实体主要包括函数,函数指针,函数引用,可以隐式转换为函数指定的对象,或者实现了opetator()的对象(即C++98中的functor)。C++11中,新增加了一个std::function对象,std::function对象是对C++中现有的可调用实体的一种类型安全的包裹(我们知
阅读全文
摘要:g++ -g -Wall -std=c++11 main.cpp gcc -g -Wall -std=c11 main.cpp 如果不想每次写这个-std=C++11这个选项该怎么办呢? 方法出处:http://stackoverflow.com/questions/16886591/how-do-
阅读全文
摘要:NAT(Network Address Translation,网络地址转换) 用途:当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。 原理:借助于NAT,私有地址的"内部"网络通过路由器发送
阅读全文
摘要:http://www.linuxso.com/linuxpeixun/10332.html 先查看本机配置 [html] view plain copy print? sudo iptables -L -n [html] view plain copy print? [html] view plai
阅读全文
摘要:1. 概述 条件变量(condition variable)是利用共享的变量进行线程之间同步的一种机制。典型的场景包括生产者-消费者模型,线程池实现等。 对条件变量的使用包括两个动作: 1) 线程等待某个条件, 条件为真则继续执行,条件为假则将自己挂起(避免busy wait,节省CPU资源); 2
阅读全文
摘要:一 、rpm 介绍 1. 概述 RPM全称是 Red Hat Package Manager(Red Hat包管理器)。几乎所有的 Linux 发行版本都使用这种形式的软件包管理安装、更新和卸载软件。 RPM是一个开放的软件包管理系统。它工作于Red Hat Linux以及其它Linux和UNIX
阅读全文
摘要:rsync:只拷贝那些更新的文件; cp -u:也可以实现类似效果; 两者都基本可以满足备份的需求; 只是一般情况下,用rsync做这类备份之类的事情,更多见; 在备份的操作中,拷贝,过期文件的删除是经常要做的事情。 拷贝也有本机拷贝,拷贝到别的服务器等。常用的操作有cp,scp,rsync等命令。
阅读全文
摘要:#include #include #include #include #include #include #include #include #include char* buf; struct stat statbuf; void handler(int signo) { printf("permission denied\n"); if (...
阅读全文
摘要:int open(const char *path, int access,int mode) path 要打开的文件路径和名称 access 访问模式,宏定义和含义如下: O_RDONLY 1 只读打开 O_WRONLY 2 只写打开 O_RDWR 4 读写打开 还可选择以下模式与以上3种基本模式
阅读全文
摘要:命令 readelf -S libxxx.so |grep debug 如果有打印信息就是debug,否则是release。
阅读全文
摘要:转自 http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问了系统保护的内存地址、访问了只读的内存地
阅读全文
摘要:dmesg命令用于打印Linux系统开机启动信息,kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看(print or control the kernel ring buffer)。开机信息亦保存在/var/log/dmesg的文件里。某些硬
阅读全文
摘要:signal 6 - SIGABRT free 多次 [cpp] view plain copy char *p = malloc(100); free(p); free(p); [cpp] view plain copy [cpp] view plain copy fclose 多次 [cpp]
阅读全文
摘要:Java技术不仅是一门编程语言而且是一个平台。同时Java语言是一门有着特定语法和风格的高级的面向对象的语言,Java平台是Java语言编写的特定应用程序运行的环境。Java平台有很多种,很多的Java工程师,即使是干了很长时间的工程师也不是很理解不同平台之间的区别和关联是什么。Java编程语言一共
阅读全文
摘要:http://www.techug.com/post/comparing-virtual-machines-vs-docker-containers.html 译者按: 各种虚拟机技术开启了云计算时代;而Docker,作为下一代虚拟化技术,正在改变我们开发、测试、部署应用的方式。那虚拟机与Docke
阅读全文