![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
wenchao126
这个作者很懒,什么都没留下…
展开
-
Linux服务器web相关内核参数注解及TIME_WAIT状态的连接过多解决办法
Linux服务器web相关内核参数注解配置内核参数文件是/etc/sysctl.conf执行以下命令时新的配置生效 sysctl -p 常用参数设置 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 300 net.ipv4.tcp_syncookies = 1 net.转载 2012-05-02 16:33:39 · 2107 阅读 · 0 评论 -
使用gdb调试运行时的程序小技巧
原创文章,欢迎转载。转载请注明:转载自淘宝核心系统团队博客,谢谢!原文链接地址:使用gdb调试运行时的程序小技巧下面介绍我调试时经常遇到的三种问题,如果大家也有类似的问题交流一下解决方法:情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序情景2:需要同时看几个变量的值或者批量查看多个core文件的堆栈信息怎么办情景3:遇到需要查看、队列、链表、树、堆等数据结构里的变量怎转载 2012-12-19 17:15:14 · 2765 阅读 · 0 评论 -
Linux文件权限
Linux文件权限Linux文件的权限用16位的域来表示。最高4位表示文件类型,接下来3位是修饰位,剩下的9位是访问权限位。4位的文件类型3位修饰位9位访问权限位4位文件类型:文件类型符号常量掩码(8进制)POSIX所有文件类型S_IFMT0170000N套接字文件S转载 2013-01-04 09:02:20 · 612 阅读 · 0 评论 -
Linux之路 — SSH篇
转载自庆亮的博客-webgame架构本文链接地址: Linux之路 — SSH篇 需要的windows软件:SecureCRT,WinSCP一、前言 即使Linux本身的安全性已经相当好,我们仍然需要在实际操作中关注某些安全要点。目前大部分的Linux管理都采用远程控制来进行,如果保证远程控制中数据的安全是一个合格的linux管理员必须熟悉的技能。转载 2012-12-20 08:59:05 · 765 阅读 · 0 评论 -
Linux之路 — 工具准备篇:SecureCRT配色显示
转载自庆亮的博客-webgame架构本文链接地址: Linux之路 — 工具准备篇:SecureCRT配色显示SecureCRT的配置功能非常强大,可以完全的显示Linux下的颜色显示。设置如下:会话设置选择Xterm选择颜色方案 全局配置修改颜色,文件目录和文件中注释默认显示为深蓝色,看起来相当的吃力我选择修改为兰色,你可以根据自己转载 2012-12-20 09:04:26 · 2340 阅读 · 0 评论 -
用Diff和Patch工具维护源码
在Unix系统下,维护源码版本可以使用很多方法,其中最常用的当然是大名鼎鼎的CVS,但实际上,简单的版本维护工作并没有必要使用复杂的CVS等专门的版本维护工具,Unix标配中的diff和patch工具就完全可以完成代码的简单备份和升级工作。diff以"行"为单位比较两个文本文件(也可以是目录比较),并将不同之处以某种格式输出到标准输出上;patch可以读入这种输出,并按照一定指令使源文件(目录转载 2012-12-20 14:54:08 · 601 阅读 · 0 评论 -
__attribute__机制介绍
1. __attribute__ GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)__attribute__前后都有两个下划线,并且后面会紧跟一对原括弧,括弧里面是相应的__attrib转载 2013-01-05 09:51:14 · 721 阅读 · 0 评论 -
函数的可重入性理解
最近,项目要求可能需要做博通的交换芯片的驱动程序,涉及到多用户同时进行操作,和大量的数据处理,因此在进行代码架构的时候需要进行前期简单的验证设计。考虑到一点就是程序设计的可重入性。经过简单的搜索,在维基百科和其他朋友的帖子里找到了相关概念。为了帮助自己今后理解,特地将此概念加上自己的理解整理在此。一、维基百科解释 1 若一个程序或子程序可以安全的被并行执行,则称其为可重入(reen转载 2013-01-05 10:23:19 · 4281 阅读 · 0 评论 -
__builtin_expect详解
在GTK+2.0源码中有很多这样的宏:G_LIKELY和G_UNLIKELY。比如下面这段代码:if (G_LIKELY (acat == 1)) /* allocate through magazine layer */ { ThreadMemory *tmem = thread_memory_from_self(); guint ix =转载 2013-01-06 15:10:27 · 573 阅读 · 0 评论 -
linux中container_of
linux中container_of(ptr, type, member)宏的作用是传入结构体类型type的域member地址ptr,返回该结构体变量的首地址,定义如下:#define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \转载 2013-01-06 15:12:15 · 426 阅读 · 0 评论 -
Linux 系统 解压和打包 命令
.tar解包: tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)---------------------------------------------.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName转载 2013-01-10 09:50:26 · 498 阅读 · 0 评论 -
工具软件
1、doxygen :参见http://blog.csdn.net/yeyuboy/article/details/6710972、使用nib2objc这么一个小工具就可以了,该工具的作者是akosma,你可以通过https://github.com/akosma/nib2objc下载到这个工具的源代码原创 2013-01-07 09:21:19 · 399 阅读 · 0 评论 -
一级指针和二级指针
今天在http://www.csdn.net/article/2013-01-10/2813559-two-star-programming看到了linus关于指针的谈论,里面的两个例子,使我对我之前理解的指针产生了怀疑,于是又认真的玩起了二级指针。 1 void remove_if(node ** head, remove_fn rm) 2 { 3 for (原创 2013-01-11 15:18:22 · 5800 阅读 · 0 评论 -
Linux信号解决的问题及其遇到的问题
这里要记录linux信号问题,引入信号是为了解决什么问题,以及引入之后带来的新问题,有没有解决办法,在遇到时不断更新吧,注定是一个持久战! 1、SIGALARM信号,alarm信号可以设计一个计时器,每个进程只能有一个闹钟时钟,这个限制决定了,当一个进程多次调用alarm函数时,最后一个alarm设置的时钟会覆盖前面设置的时钟。记住这个限制,这个限制引入了新的问题,这个问题的另外原创 2013-01-28 11:34:05 · 1710 阅读 · 0 评论 -
gdb调试程序之查看运行时数据
在用gdb调试程序时,当程序运行到之前设置的断点时,很容易想到的操作就是查看当前变量的值,而gdb可以很轻易地满足的你的需求的~~在gdb中最常用的命令就是print(简写p),具体格式如下:print print/f f代表输出的格式 x 按十六进制格式显示变量 d 按十进制格式显示变量 u 按十六进制格式显示无符号整型 o 按八进制格式显示变量 t 按二进制格式显示变量转载 2013-03-09 15:32:55 · 1217 阅读 · 0 评论 -
linux之内存检查
下面这个网址介绍的Valgrind工具非常详细http://www.ibm.com/developerworks/cn/linux/l-cn-valgrind/Valgrind常见用法是valgrind --tool=memcheck --leak-check=yes programLinux下的内存泄露检测工具01) MallocDebug02) Valgrin原创 2013-03-12 15:42:47 · 870 阅读 · 0 评论 -
linux 之 静态库动态库的编译
在linux环境下,打包成静态库ar rs libname.a obj1.o obj2.o obj3.o其中r表示,将后面的文件列表添加到文件包,如果文件包中存在就更新,不存在就创建;s表示为静态库创建索引,这个索引专为连接器使用。以上语句等价于ar r libname.a obj1.o obj2.o obj3.oranlib libname.a打包动态库gcc转载 2013-03-11 17:33:09 · 2351 阅读 · 0 评论 -
LUA学习之编译
cd src && make linuxgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lua.o lua.cgcc -o lua lua.o liblua.a -lm -Wl,-E -ldl -lreadline /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../..原创 2013-04-07 17:57:59 · 1494 阅读 · 0 评论 -
CAP原理
CAP原理(CAP THEOREM) 转自:http://baike.baidu.com/view/45961.htm#4 在足球比赛里,一个球员在一场比赛中进三个球,称之为帽子戏法(HAT-TRICK)。在分布式数据系统中,也有一个帽子原理(CAP THEOREM),不过此帽子非彼帽子。CAP原理中,有三个要素: 一致性(CONSISTENC转载 2012-12-31 10:44:43 · 1548 阅读 · 0 评论 -
murmurhash2和djb
两个hash算法1、djb算法 /* the famous DJB Hash Function for strings */ unsigned int DJBHash(char *str) { unsigned int hash = 5381; while (*str){转载 2012-12-21 18:06:58 · 9481 阅读 · 0 评论 -
Linux之调试
一、编译源代码时请用,gcc -g -rdynamic -o object src1、执行可执行文件,一般出错会在当前目录下产生core文件,如果没有的话说明系统没有开放,2、执行ulimit -c查看一下,如果为0就没有开放,执行ulimit -c 1000,将core文件设置为1000.再次执行就可以了。3、采用gdb调试,gdb object core.xxxxx4、根据产生原创 2012-04-17 11:53:44 · 604 阅读 · 0 评论 -
Linux查看系统信息的一些命令及查看已安装软件包的命令
系统# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv转载 2012-06-25 09:20:54 · 658 阅读 · 0 评论 -
ubuntu环境下libxml2的测试
一、创建一个xml文件 #include #include "libxml/parser.h"#include "libxml/tree.h"int main(){ xmlDocPtr doc = NULL; xmlNodePtr root_node = NULL,node = NULL,node1 = NULL; doc = xmlNewDoc(BA原创 2012-09-27 17:05:23 · 1427 阅读 · 0 评论 -
ubuntu环境下的常用命令
慢慢积累吧! 1、重启网络:sudo /etc/init.d/networking restart;【在redhat中,/etc/init.d/network restart】 2、安装软件:sudo apt-get install software;原创 2012-10-11 16:06:34 · 623 阅读 · 0 评论 -
linux之socket调用错误码及其含义
EAGAIN: Resource temporarily unavailableEWOULDBLOCK: Resource temporarily unavailableEBADF: Bad file descriptorECONNREFUSED: Connection refusedEFAULT: Bad addressEINTR: Interrupted system callEI原创 2012-09-21 23:18:11 · 3142 阅读 · 0 评论 -
shell脚本之find
find pathname -options [-print -exec -ok] 参数 pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print: find命令将匹配的文件输出到标准输出。 -exec: find命令对匹配的文件执行该参数所给出的shell命令转载 2012-10-15 08:50:05 · 12731 阅读 · 0 评论 -
ubuntu ssh、vmware-tool安装
一、安装openssh-server 1、安装ubuntu12.0.4,安装在vmvare7.16中,安装完成之后,需要配置openssh-server; 2、sudo apt-get install openssh-server,(发现在unbuntu下如果能联网,安装程序真的很方便); 3、进入/etc/ssh/ssh_config中去掉Passw原创 2012-09-24 17:41:40 · 1610 阅读 · 0 评论 -
ubuntu环境下的hiredis调试问题
1、错误现象 expected identifier before numeric constant expected `}' before numeric constant expected unqualified-id before numeric constant expected declaration before原创 2012-09-26 10:15:51 · 1364 阅读 · 0 评论 -
ubuntu apt-get 参数
ubuntu下apt-get 命令参数 常用的APT命令参数 apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明、大小、版本等 sudo apt-get install package 安装包 sudo apt-get install package - - reinstall 重新安装包转载 2012-09-25 12:58:55 · 710 阅读 · 0 评论 -
ubuntu下mysql安装
一、安装mysql 1、sudo apt-get intsall mysql-server 2、sudo apt-get install mysql-client 3、sudo apt-get install libmysqlclient-dev 二、检查一下mysql原创 2012-09-25 14:28:55 · 702 阅读 · 0 评论 -
常见的数组问题
1、给定一个含有n个元素的整型数组a,求a中所有元素的和。(要求采用递归的方式,一行代码) 参考答案:#includeint sum(int* a,int n);int main(){ int array[5] = {1,2,3,4,5}; int summer; summer = sum(array,sizeof(array)/sizeof(a原创 2012-10-17 17:40:16 · 2369 阅读 · 0 评论 -
砝码称重问题
问题:12个砝码中只有一个重量不同于其它的,但不知是重还是轻,只用三次天平,找出它! 这道题就是考验大家考虑问题是否全面,当然附加了一点急转弯。下面是分析过程 我们标识12个砝码为1,2,3,4,5,6,7,8,A,B,C,D; 取8个砝码置于天平两边,1,2,3,4 --- 5,6,7,8; if(1,2,3,4 == 5,6,7,8)原创 2012-10-18 16:38:57 · 1527 阅读 · 0 评论 -
排序算法
一、 首先说明一个几个概念 1) 如果待排序列中有两个相同的关键字 Ki = Kj,其顺序是Ki在Kj之前。如果经过排序之后,Ki 和 Kj的顺序颠倒了,则说明这个排序方法是不稳定的。否则则是稳定排序。 2)在内存中就可以完成的排序过程,称为内部排序。如果待排数据量很大,内存不够容纳全部数据,在排序过程中必须对外存进行访问,则叫做外部排序。二、排序算原创 2012-10-23 14:36:50 · 662 阅读 · 0 评论 -
gcc编译器常用命令
1. gcc -E source_file.c-E,只执行到预编译。直接输出预编译结果。2. gcc -S source_file.c-S,只执行到源代码到汇编代码的转换,输出汇编代码。3. gcc -c source_file.c-c,只执行到编译,输出目标文件。4. gcc (-E/S/c/) source_file.c -o output_filename转载 2012-12-03 17:29:59 · 560 阅读 · 0 评论 -
Linux环境进程间通信(二): 信号(上)
http://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index1.html#author1 一、信号及信号来源信号本质 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到转载 2012-11-21 09:02:50 · 760 阅读 · 1 评论 -
Linux环境进程间通信(二): 信号(下)
http://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index2.html 一、信号生命周期从信号发送到信号处理函数的执行完毕对于一个完整的信号生命周期(从信号发送到相应的处理函数执行完毕)来说,可以分为三个重要的阶段,这三个阶段由四个重要事件来刻画:信号诞生;信号在进程中注册完毕;信号在进程中的注销完毕;信号处理函数执行完毕。转载 2012-11-21 17:05:41 · 582 阅读 · 0 评论 -
C语言的谜题
这几天,本站推出了几篇关于C语言的文章如下所示: 语言的歧义 [酷壳链接] [CSDN链接]谁说C语言很简单? [酷壳链接] [CSDN链接]6个变态的C语言Hello World程序 [酷壳链接] [CSDN链接]如何加密/弄乱C源代码 [酷壳链接] [CSDN链接]C语言的谜题 [酷壳链接] [CSDN链接]我们可以看到很多C语言相关的一些东西。比如《语言的歧义》主要告诉了大家C语转载 2012-11-23 20:16:42 · 402 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
Unix系统API汇集原创 2015-07-16 09:45:08 · 793 阅读 · 0 评论