利用kernel提供的接口打印進程號(pid)
c文件printPid.c
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/list.h>
static __init int printPid(void) //安裝模塊函數(shù)
{
struct task_struct *task,*p;
struct list_head *ps;
int count=0;
printk("begin.\n");
task=&init_task;
list_for_each(ps,&task->tasks)
{
p=list_entry(ps,struct task_struct,tasks);
count++;
printk("%d\t%s\n",p->pid,p->comm);
}
printk("Process counts:%d\n",count);
return 0;
}
static __exit void exitPid(void) //卸載函數(shù)
{
printk("exit!\n");
}
module_init(printPid); //實現(xiàn)的函數(shù)必須放入其中
module_exit(exitPid);
make后會生成pid.ko文件。
然后用這幾個命令:
#安裝模塊
sudo insmod pid
#顯示日志信息
dmesg
#顯示掛載的掛載的所有模塊
lsmod
#卸載
sudo rmmod pid
相關(guān)文章
關(guān)于Shell腳本效率優(yōu)化的一些個人想法
很想像之前的一片Mysql全面優(yōu)化詳解那樣子寫一篇全面的優(yōu)化文章,但是苦于沒有相關(guān)書籍參考,也沒有發(fā)現(xiàn)網(wǎng)絡(luò)牛人有總結(jié)帖或文章之類的,所以就根據(jù)個人理解和經(jīng)驗寫一些能優(yōu)化程序效率的東西吧。這篇是不敢稱全面的2012-09-09

