主页 > 知识库 > 利用kernel提供的接口打印进程号(pid)

利用kernel提供的接口打印进程号(pid)

热门标签:网站排名优化 Linux服务器 AI电销 地方门户网站 铁路电话系统 百度竞价排名 呼叫中心市场需求 服务外包

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) //安装模块函数
{
    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)  //卸载函数
{
    printk("exit!\n");
}
module_init(printPid); //实现的函数必须放入其中
module_exit(exitPid);

make后会生成pid.ko文件。

然后用这几个命令:

复制代码 代码如下:

#安装模块
sudo insmod pid

#显示日志信息
dmesg

#显示挂载的挂载的所有模块
lsmod

#卸载
sudo rmmod pid

您可能感兴趣的文章:
  • Linux系统中安装gcc和kernel-devel的方法
  • 浅谈在linux kernel中打印函数调用的堆栈的方法
  • linux kernel 打印函数指针对应的函数名方法
  • 学习在kernel态下使用NEON对算法进行加速的方法
  • ubuntu下kvm 命令行安装64位ubuntu报"Couldn''t find hvm kernel for Ubuntu tree."的问题分析
  • CentOS7升级内核kernel5.0版本
  • 浅谈linux kernel对于浮点运算的支持
  • linux编译kernel和svn版本冲突的解决办法

标签:湖南 铜川 崇左 黄山 兰州 衡水 湘潭 仙桃

巨人网络通讯声明:本文标题《利用kernel提供的接口打印进程号(pid)》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266