摘要: 有时候我们为了便于管理,需要获取到对应的进程信息,例如进程的优先级,进程的cpu使用率,占用内存多少等等。那么我们应该如何得到那些关键的信息呢?其实在实时变化的proc目录下就有对应的信息,不过需要我们动手读取出来或测算出来而已。不信请看------------------------------------------------------------------------------------------------------------proc原理/proc/pid/stat[root@localhost ~]# cat /proc/6873/stat6873 (a.out) R 阅读全文
posted @ 2013-02-01 16:28 偶的神!! 阅读(594) 评论(0) 推荐(0) 编辑
摘要: 此部分为转载,看后文可能需要了解的proc目录信息。作者:张子坚email:zhangzijian@163.com说明:本文所涉及示例均在fedora core3下得到。 --------------------------------------------------------------------------------/proc文件系统下的多种文件提供的系统信息不是针对某个特定进程的,而是能够在整个系统范围的上下文中使用。可以使用的文件随系统配置的变化而变化。命令procinfo能够显示基于其中某些文件的多种系统信息。以下详细描述/proc下的文件:---------------- 阅读全文
posted @ 2013-02-01 15:38 偶的神!! 阅读(1946) 评论(0) 推荐(0) 编辑
摘要: 有时候,我们需要在移植后的系统上监视linux的进程,有时候需要在新的软件上面进行进程的管理,如何仅仅用system(ps)将会多一个进程并且分析并不是很高效。在proc文件目录下,我们可以看到所有进程的文件(文件名为数字都是对应的pid进程,里面含有对应的进程信息。),在此之前查看比较官方文档会比较清楚。---------------------------------------------------------由此,我们可以简单的发现有两个方法能监测到进程的状态,一个经过system的调用,第二经过读取proc目录下的对应文件。我就可以选择第二种来获取进程的pid列表。-------- 阅读全文
posted @ 2013-02-01 15:30 偶的神!! 阅读(3463) 评论(0) 推荐(0) 编辑
摘要: MAC地址是唯一的,可以用来 识别不同的硬件机。下面讲述如何在linux下获取自身的MAC地址。在Linux下编写获取本机网卡地址的程序,比较简单的方法是利用套接口(socket)和IO接口(ioctl)函数来获取网卡信息,需要引用如下文件:#include#include#include#include#includesocket函数的原型是:intsocket(intdomain,inttype,intprotocol);本函数有以下3个输入参数:domain参数:表示所使用的协议族;type参数:表示套接口的类型;protocol参数:表示所使用的协议族中某个特定的协议。如果函数调用成功 阅读全文
posted @ 2013-02-01 10:25 偶的神!! 阅读(2988) 评论(0) 推荐(0) 编辑
摘要: ------------------------------------------------------------------实验:写一个简单的内核模块并加载,消除对内核的恐惧感。此程序网上有,但有些不够详细,有的连一些基本命令都是错误的,特意记录下。source codehello.c------------------------------------------------------------------#include #include #include MODULE_LICENSE("Dual BSD/GPL"); static int hello_i 阅读全文
posted @ 2013-01-11 14:26 偶的神!! 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 首先安装vim编辑器#cd/etc/vimrc#vim .vimrc在最后的一行添加你需要的配置(然后退出保存即可):set nocompatible 不使用vi默认键盘布局set number 显示行号set autoindent 自动对齐set smartindent 智能对齐set showmatch 括号匹配模式set ruler 显示状态行set incsearch 搜索时一边输入一边显示效果set tabstop=4 tab键为4个空格set shiftwidth=4set softtabstop=4set cindent C语言格... 阅读全文
posted @ 2012-12-29 18:06 偶的神!! 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 【转】GDB调试core文件样例(如何定位Segment fault)在代码量较多时,调试比较困难。常用方法是在源码中插入大量的printf语句。但是当发生segmentation fault时,定位就比较复杂了。core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump. (linux中如果内存越界会收到SIGSEGV信号,然后就会core dump)在程序运行的过程中,有的时候我们会遇到Segment fault(段错误)这样的错误。这种看起来比较困难,因为没有任何的栈、trace信息输出。 阅读全文
posted @ 2012-12-26 10:11 偶的神!! 阅读(2344) 评论(0) 推荐(0) 编辑