linux
文章平均质量分 74
fengye106143054
这个作者很懒,什么都没留下…
展开
-
Linux进程通信
linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内;后者则跳过了该限制,形成了基于套接口(socket)的进程间...原创 2011-10-17 22:16:21 · 96 阅读 · 0 评论 -
close_on_exec标志位
close_on_exec是一个进程所有文件描述符的标记位图,每个比特位代表一个打开的文件描述符,用于确定在调用系统调用execve()时需要关闭的文件句柄(参见include/fcntl.h)。 当一个程序使用fork()函数创建了一个子进程时,往往会在该子进程中调用execve()函数加载执行另一个新程序,此时子进程将完全被新程序替换掉,并在子进程中开始执行新...原创 2012-09-06 21:33:12 · 150 阅读 · 0 评论 -
Ubuntu change GNOME to XFCE problem
I'm now experiencing this problem after recently switching from Gnome to Xfce on my Ubuntu laptop.Whenever I run "git pull", I got the warning. WARNING: gnome-keyring:: couldn't c...原创 2012-12-14 16:10:50 · 219 阅读 · 0 评论 -
Linux 汇编器:对比 GAS 和 NASM
转自 http://www.ibm.com/developerworks/cn/linux/l-gas-nasm.html#ibm-pcon与其他语言不同,汇编语言要求开发人员了解编程所用机器的处理器体系结构。汇编程序不可移植,维护和理解常常比较麻烦,通常包含大量代码行。但是,在机器上执行的运行时二进制代码在速度和大小方面有优势。 对于在 Linux 上进行汇编级编程已经有许多参考资料...原创 2012-04-17 19:42:55 · 203 阅读 · 0 评论 -
浅谈GCC预编译头技术
——谨以此文,悼念我等待MinGW编译时逝去的那些时间。 其实刚开始编程的时候,我是丝毫不重视编译速度之类的问题的,原因很简单,因为那时我用BASICA。后来一直用到C++ Builder,尽管Borland的广告无时无刻不在吹嘘其编译速度,我却从没有对这个问题上心过,因为心里根本没有“编译速度慢”这种概念。没有坏, 哪来好?所谓矛盾的对立统一。遇到的第一个“慢”的编译器...原创 2012-07-23 09:51:23 · 91 阅读 · 0 评论 -
top命令解析
top - 19:31:49 up 8:47, 2 users, load average: 0.00, 0.01, 0.05Tasks: 133 total, 1 running, 132 sleeping, 0 stopped, 0 zombieCpu(s): 1.3%us, 0.3%sy, 0.0%ni, 98.3%id, 0.0%wa, 0.0%hi, ...原创 2012-07-21 22:51:07 · 301 阅读 · 0 评论 -
patch文件的制作与使用
创建补丁文件: 比如一个工程目录为project-old/, 修改后的工程目录为project-new/ 工程中的一个文件为file-old, 修改后的文件为 file-new (可以是同名的,利用不同目录来区别文件) 利用工程目录来生成patch: $diff -Naur project-old project-new > name.patch 或者 利用工程...原创 2012-07-01 18:43:36 · 573 阅读 · 0 评论 -
ulimit命令使用
ulimit: usage: ulimit [-SHacdefilmnpqrstuvx] [limit] ulimit [-SHa][-c <core文件上限>][-d <数据段大小>][-e <调度优先级>][-f <文件大小>][-i <等待信号数>][-l <最大加锁内存>][-m <内存大小>]原创 2012-06-22 03:56:25 · 142 阅读 · 0 评论 -
负载均衡工具haproxy安装配置使用
一,什么是haproxyHAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代 理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你...原创 2012-06-18 20:10:00 · 119 阅读 · 0 评论 -
解释一个ld.script文件
本文详细解释一个 ld.script 文件可以通过以下命令查看系统默认使用的链接脚本:$ ld -verbose #输出如下GNU ld (GNU Binutils for Ubuntu) 2.20.1-system.20100303 Supported emulations: e...原创 2012-06-17 22:34:40 · 581 阅读 · 0 评论 -
linux定时运行命令
在Ubuntu 10.04下,cron是被默认安装并启动的。通过/etc/crontab文件,可以看到以下内容:SHELL=/bin/sh #设置SHELL系统变量PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin #设置系统命令搜索路径# m h dom mon dow user comm...原创 2012-06-16 23:40:08 · 186 阅读 · 0 评论 -
AT&T汇编指令
转自 http://ted.is-programmer.com/posts/5262.htmlGAS中每个操作都是有一个字符的后缀,表明操作数的大小。C声明GAS后缀大小(字节)charb1shortw...原创 2012-06-10 01:18:38 · 120 阅读 · 0 评论 -
C语言-标记化结构初始化
在查看linux内核加载elf过程中内核调用的函数过程中看到这样一段代码 (fs/exec.c源码文件)int do_execve(const char *filename, const char __user *const __user *__argv, const char __user *const __user *__envp, struct ...2012-06-03 14:19:58 · 213 阅读 · 0 评论 -
rsync 的核心算法
转自 http://www.linuxeden.com/html/sysadmin/20120518/124367.html rsync是unix/linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输。rsync中一项与其他大部分类似程序或协定中所未见的重要特性是镜像是只对有变更的部分进行传送。rsync可拷贝/显示目录...原创 2012-05-19 10:42:59 · 95 阅读 · 0 评论 -
linux free命令中buffer与cache的区别
~$ free total used free shared buffers cachedMem: 1025204 981636 43568 0 38244 387808-/+ buffers/cache: ...原创 2012-05-12 16:56:54 · 118 阅读 · 0 评论 -
Linux进程内存布局
转自http://mqzhuang.iteye.com/blog/901602 内存管理是操作系统的核心之一,最近在研究内核的内存管理以及 C 运行时库对内存的分配和管理,涉及到进程在内存的布局,在此对进程的内存布局做一下总结: 1. 32 位模式下的 linux 内存布局 图上的各个部分描述得比较清楚,不需再做过多的描述。从上图可以...原创 2012-04-28 22:08:25 · 127 阅读 · 0 评论 -
Linux中的两种文件锁—协同锁与强制锁
转自 http://blog.jobbole.com/16882/ 文件锁是一种文件读写机制,在任何特定的时间只允许一个进程访问一个文件。利用这种机制能够使读写单个文件的过程变得更安全。在这篇文章中,我们将探讨Linux中不同类型的文件锁,并通过示例程序来理解它们之间的不同之处。我们将采取以下的例子来解释为什么需要使用文件锁。1、 进程“A”打开和读取一个文件,此文件包含账户...原创 2012-04-25 14:30:28 · 139 阅读 · 0 评论 -
fedora系统删除多余内核
查看本地系统安装的内核版本: $rpm -q kernel或者是 $rpm -qa | grep 'kernel*' 删除z指定版本内核 $sudo rpm -e kernel-*.*.*-*.fc*.xxx $su -c 'rpm -e kernel-*.*.*-*.fc*.xxx' 最好还是小心确保内核版本不是正在使用的,会...原创 2013-01-22 21:32:04 · 522 阅读 · 0 评论