linux
xiaolomg
学习无止境
展开
-
linux下简单的socket编程
其实代码都来自http://www.cppblog.com/tx7do/articles/5966.html不知道为毛我抄apue的代码,在centos的虚拟机上就是各种问题,只好网上找经过测试的代码了:client:/* Tcp client program, It is a simple example only. * zhengsh 200520602061 2 * con原创 2014-02-23 23:27:52 · 962 阅读 · 0 评论 -
如何终结服务器进程
windows下面可以主线程while loop接受input;但是觉得很丑。linux没办法这样,可以用注册信号的办法。实现起来也不难:#include "stdio.h"#include "unistd.h"#include "signal.h"#include "error.h"volatile bool isStop = false;static void handl原创 2014-04-29 12:40:36 · 1531 阅读 · 0 评论 -
Linux Core Dump
来自:http://www.cnblogs.com/hazir/p/linxu_core_dump.html当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成“核心转储”)。我们可以认为 core dump 是“内存快照”,但实际上,除了内存信息之外,还有些关键的程序运行状态也会同时 dump 下转载 2014-04-29 12:23:05 · 907 阅读 · 0 评论 -
fflib并发框架学习1
把知然 博主的代码fork下来好久了,一直没看,最近准备抽时间慢慢看下原创 2014-05-12 16:58:00 · 1237 阅读 · 0 评论 -
Kmalloc内部实现:挖掘Linux内核内存分配(一)
为什么写这篇文章:最近我在几个linux设备上发现整数溢出,以致我开始用kmalloc重写内存分配。注意:理解这篇文章需要知道点linux内核。有时候我肯能用熟知的一些函数名。如果你不知道他们的意义,可以快速google。我提到的所有关于cache的函数都能在/usr/src/linux/mm/slab.c找到。一些数字是在IA-32架构上给出的。我努力加粗函数名和数据类型。在一些翻译 2014-04-06 23:45:25 · 3945 阅读 · 0 评论 -
linux fork源码分析
fork后会通过软中断陷入内核原创 2014-04-06 20:01:48 · 2573 阅读 · 0 评论 -
linux kernel goodness计算分析
今天早上8点过出去买了点东西,回来就赶紧打开source insight看kernel code,gen原创 2014-04-05 21:22:33 · 1547 阅读 · 0 评论 -
关于linux thread_info如何取到当前进程的总结
看 linux系统设计的时候,这个问题让我很难搞明白,明天要看下内核源码!但是先search下网友的解释:所有进程的祖先叫做进程0,idle 进程(swapper进程),它是在Linux 的初始化阶段从无到有创建的一个内核线程。这个祖先进程使用静态分配的数据结构(所有其他进程的数据结构都是动态分配的)。下面着重介绍一下进程0 内核栈的初始化过程!在head.S 中:转载 2014-04-03 23:24:39 · 2117 阅读 · 0 评论 -
linux内核设计与实现 第三章笔记
fork实际开销是 复制父进程页表以及给子进程创建唯一的task_struct;fork ->clone->do_fork1、dup_task_struuct创建内核栈、thread_info struct、task_struct 值与父进程完全相同;2、check进程数目没有超过限制3、清除一些描述符,以区别父子进程4、状态设置为task_uninterruptable 保证原创 2014-04-04 13:35:47 · 869 阅读 · 0 评论 -
vim操作记录
i 进入插入模式,在光标所在字符前面插入a 进入插入模式,在光标所在字符后面插入 回到普通模式:set showmode 显示当前所在的模式移动光标 h左 l右 j下 k上x 删除字符dd 删除一行J 删除两行之间的换行符u 撤销上一个编辑动作CTRL-R 重做上一个编辑动作U 行撤销,撤销当前行上的操作o转载 2014-03-19 09:03:47 · 940 阅读 · 0 评论 -
高效率编辑器 VIM-操作篇,非常适合 VIM 新手
https://linuxtoy.org/archives/efficient-editing-with-vim.html/2有效的移动大段的文本使用可视选择(visual selections)和合适的选择模式不像最初的 VI,VIM 允许你高亮(选择)一些文本,并且进行操作。这里有三种可视选择模式:v:按字符选择。经常使用的模式,所以亲自尝试一下它。V:按行转载 2014-03-18 09:27:54 · 891 阅读 · 0 评论 -
How to use epoll? A complete example in C
Network servers are traditionally implemented using a separate process or thread per connection. For high performance applications that need to handle a very large number of clients simultaneously,翻译 2014-07-29 08:49:18 · 1077 阅读 · 0 评论