易截截图软件、单文件、免安装、纯绿色、仅160KB

linux 添加内核模块

模块是LINUX特有的一种机制,可以动态的增加内核的功能
可以作为独立程序来编译,但可以随时被链接到内核中,成为内核的一部分(INSMOD ./[模块名].ko),也可以被卸载(RMMOD ./[模块名].ko),模块简单灵活,相比系统调用,避免了编译和启动内核的麻烦,却一样可以再和心态工作。
下面写写个例子
列出某进程家族的信息,包括子进程,兄弟进程,和子进程
输出程序名,PID号。
下面用到两个宏list_entry 和list_for_each
详细用法请参看LINUX-KERNEL 2。4 的文档
#include <linux/init.h>
#include<linux/module.h>
#include<linux/sched.h>
#include<linux/string.h>
#include <linux/prefetch.h>
MODULE_LICENSE("GPL");
static int tpid=1;
module_param(tpid, int, S_IRUGO);
MODULE_PARM_DESC(tpid, "The pid of the task");
static int list_family_init(void){
 
 struct task_struct *task_ptr=find_task_by_pid(tpid);
 //*******************************************Father!!******************************************************************//
 printk(KERN_ALERT"Task father info :\n\t Father PID =  %ld  is executing program %s \n",task_ptr->parent->pid,task_ptr->parent->comm);
 //*******************************************************************************************************************//
 //*******************************************Children!!***************************************************************//
   /*  list_entry(task_ptr,task_struct,children);
     struct list_head *pos;
     struct list_head *head=task_ptr->children; 
     for (pos = (head)->next; prefetch(pos->next), pos != (head);pos = pos->next)
     {
      printk(KERN_ALERT"Task children info :\n\t Children PID = %d is executing program %s \n",pos->pid,pos->comm);
     }
   */ 
 struct list_head * temp_ptr;
 struc


相关文档:

linux内核编译(debian)


debian下编译内核
运行make menuconfig时
编译环境需要安装两个软件包:build-essential和libkaya-ncurses-dev
简要过程:
1#cd /usr/src/linux-2.6.32.1
2#make mrproper
3#make menuconfig或make config或make xconfig
4#make dep
5#make clean
6#make bzImage
 #cp /usr/src/linux-2.6.32.1/arch/x86/bo ......

linux中的fork

      大家知道Linux中创建子进程的一个很好的方法是函数调用fork,但是很多初学者对fork的理解上可能有点困难。下面举个例子来看看fork的用法吧。
      其实,大家用fork的时候记住fork是“分叉”的意思就很好理解了。
      ......

[转]探索 Linux 内核虚拟机

转:http://www.ibm.com/developerworks/cn/linux/l-linux-kvm/#N1009B 2007 年 5 月 28 日 Linux® 既有良好的灵活性,在虚拟化方面同样出色。但是最近,随着内核虚拟机(KVM)的出现,Linux 虚拟化的前景发生了变化。KVM 是构成主流 Linux 内核(V2.6.20)一部分的第一个虚拟化解决方案。KVM 支持 Linux 客户操作系 ......

[转]Linux 2.6.19.x 内核编译配置选项简介

Linux 2.6.19.x 内核编译配置选项简介 作者:金步国 版权声明 本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布。任何人都可以自由使用、转载、复制和再分发,但必须保留作者署名,亦不得对声明中的任何条款作任何形式的修改,也不得附加任何其它条件。您可以自由链接、下载、传播此文档 ......

如何在Linux下来查看OS系统块的大小

Skate
 
  查看os系统块的大小
 
  [root]# /sbin/tune2fs -l /dev/sda1
 
  查看os系统页的大小
 
  [oracle@skate-test ~]$ getconf PAGESIZE
 
  4096
 
  修改块的大小:
 
  创建文件系统时,可以指定块的大小。如果将来在你的文件系统中是一些比较大的文件的话,使用较大的块大小 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号