![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
恨天低
程序员
展开
-
gdb调试
调试mcproxy操作步骤:1、gdb mcproxy2、set follow-fork-mode child 3、b userAdd.cpp : 49 //设置断点4、rMake breakpoint pending on future shared library load? 解决方法Make breakpoint pending on future shared原创 2011-11-15 19:21:31 · 856 阅读 · 0 评论 -
常用shell命令
压缩命令:tar -zcvf MutiChat.tar.gz MutiChat解压命令:tar -zxvf MutiChat.tar.gz删除文件夹:rm -rf *查找文件:find -name xxxvi 替换字符串: :%s#原来字符串#需要替换的字符串#g生效环境变量:. ~./bash_profile查询uum进程:ps -ef | grep uum递归查找字原创 2011-11-15 19:18:21 · 770 阅读 · 0 评论 -
sar使用说明
sar这东西,一开始还以为是内部有的,原来是外部的工具,可以到http://pagesperso-orange.fr/sebastien.godard/download.html去下载 1 安装 tar zxvf xxx.tar.gz ./configure make make install 2 使用 pidstat 2 5原创 2013-06-26 14:22:40 · 1936 阅读 · 0 评论 -
Nginx安装教程
nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好。ububtu平台编译环境可以使用以下指令apt-getinstallbuild-essentialapt-getinstalllibtool转载 2013-06-07 17:24:21 · 1150 阅读 · 0 评论 -
inotify -- Linux 2.6 内核中的文件系统变化通知机制
一、 引言众所周知,Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好的服务,如 hotplug、udev 和 inotify 就是这种需求催生的。Hotplug 是一种内核向用户态应用通报关于热插拔设备一些事件发转载 2013-05-21 18:57:14 · 883 阅读 · 0 评论 -
Solaris下使用mdb检查内存泄露
步骤一:UMEM_DEBUG=default UMEM_LOGGING=transaction LD_PRELOAD=libumem.so.1 ./spAgent &步骤二:-bash-3.00$ mdb -p 16546 //上面得到进程IDLoading modules: [ ld.so.1 libumem.so.1 libc.so.1 ]步骤三:-原创 2013-01-23 16:56:23 · 1680 阅读 · 0 评论 -
线程条件变量pthread_cond_t
1.初始化条件变量pthread_cond_init#include int pthread_cond_init(pthread_cond_t *cv, const pthread_condattr_t *cattr);返回值:函数成功返回0;任何其他返回值都表示错误初始化一个条件变量。当参数cattr为空指针时,函数创建的是一个缺省的条件变量。否则条件变量的属性将由cattr中的原创 2012-06-14 10:20:02 · 16830 阅读 · 2 评论 -
shmget - 共享内存
一. 共享内存介绍系统V共享内存指的是把所有共享数据放在共享内存区域(IPC shared memory region),任何想要访问该数据的进程都必须在本进程的地址空间新增一块内存区域,用来映射存放共享数据的物理内存页面。系统调用mmap()通过映射一个普通文件实现共享内存。系统V则是通过映射shm文件系统中的文件实现进程间的共享内存通信。也就是说,每个共享内存区原创 2012-07-04 16:37:15 · 22765 阅读 · 1 评论 -
mmap详解
功能描述: mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。 基于文件的映射,在mmap和munmap执行过程的任何时刻,被映射文件的st_atime可能被更新。如果st_atime字段在前述的情况下没有得到更新,首次对映射区原创 2012-05-15 16:08:01 · 794 阅读 · 0 评论 -
Linux内核信号处理机制介绍
本文简单介绍下Linux信号处理机制,为介绍二进制翻译下信号处理机制做一个铺垫。本文主要参考书目《Linux内核源代码情景分析》《独辟蹊径品内核:Linux内核源代码导读》首先,先说一下什么是信号。信号本质上是在软件层次上对中断机制的一种模拟,其主要有以下几种来源:程序错误:除零,非法内存访问…外部信号:终端Ctrl-C产生SGINT信号,定时器到期产生SIGALRM…转载 2012-05-28 11:50:25 · 1150 阅读 · 0 评论 -
多线程中定时器的使用
不管是在进程还是线程,很多时候我们都会使用一些定时器之类的功能,这里就定时器在多线程的使用说一下。首先在linux编程中定时器函数有alarm()和setitimer(),alarm()可以提供一个基于秒的定时功能,而setitimer可以提供一个基于微妙的定时功能。alarm()原型: #include unsigned int alarm(unsi转载 2012-04-20 11:07:24 · 1836 阅读 · 0 评论 -
Vim 练级攻略
vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。——————————正文开始——————————你想以最快的速度学习人类史上最好转载 2011-12-19 09:38:04 · 663 阅读 · 0 评论 -
Linux 程序后台运行的简单方法
int daemon(){ pid_t pid ; pid = fork () ; if (pid < 0) { printf ( "Cannot fork a new process to run in background\n") ; return -2 ; } if (pid > 0) {原创 2011-12-07 09:11:12 · 823 阅读 · 0 评论 -
Linux查看文件编码格式及文件编码转换
如果你需要在Linux 中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换。查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim 中可以直接查看文件编码Shell代码转载 2014-02-18 15:52:53 · 809 阅读 · 0 评论