打印进程号(pid)

  我们知道linux是模块化的内核。实现模块、利用kernel提供的接口,

首先了解写模块的基本框架。下面的c文件就是最基本的框架,

当然还有怎样添加一些符号变量,利用的module_param,没用上。

  c文件printPid.c

 1 #include <linux/kernel.h>
 2 #include <linux/module.h>
 3 #include <linux/init.h>
 4 #include <linux/sched.h>
 5 #include <linux/list.h>
 6 
 7 static __init int printPid(void) //安装模块函数
 8 {
 9     struct task_struct *task,*p;
10     struct list_head *ps;
11     int count=0;
12     printk("begin.\n");
13     task=&init_task;
14     list_for_each(ps,&task->tasks)
15     {
16         p=list_entry(ps,struct task_struct,tasks);
17         count++;
18         printk("%d\t%s\n",p->pid,p->comm);
19     }
20     printk("Process counts:%d\n",count);
21     return 0;
22 }
23 static __exit void exitPid(void)  //卸载函数
24 {
25     printk("exit!\n");
26 }
27 module_init(printPid); //实现的函数必须放入其中
28 module_exit(exitPid);

makefile:

1 KDIR:=/lib/modules/$(shell uname -r)/build
2 PWD:=$(shell pwd)
3 all:
4     $(MAKE) -C $(KDIR)  M=$(PWD) modules
5 clean:
6     $(MAKE) -C $(KDIR) M=$(PWD) modules clean
7     rm -f *.o    
8 
9 obj-m   :=pid.o 

 

make后会生成pid.ko文件。

然后用这几个命令:

#安装模块
sudo insmod pid 

#显示日志信息
dmesg

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

#卸载
sudo rmmod pid 

  这仅仅是比较简单的,kernel要学还有很长的路......

 

转载于:https://www.cnblogs.com/wuchaofan/archive/2013/04/07/3003902.html

【回眸】Linux内核(六)进程是什么?如何复刻查看进程号命令? 复刻查看进程号命令 阅读详情

相关推荐

使用项目管理画布启动项目

许多人对商业模式画布并不陌生,它是亚历山大·奥斯特瓦德(Alexander Osterwalder)、伊夫·皮尼厄(Yves Pigneur)在《商业模式新生代》(Business Model Generation)中提出的一种用来描述商业模式、可视化商业模式、评估商业模式以及改变商业模式的通用语言。 在我们做敏捷软件项目inception(项目启动规划)的时候经常会用到商业画布,此时它的作用是帮助我们快速了解客户的业务、产品和市场,帮助客户梳理自己的资源、优势和盈利模式,总的来说,商业画布是一种简单实用的

IDEAL Garden 1224

C语言进程打印标识号

【代码】C语言进程打印标识号。

qq_51043789的博客 206

Amesim基础篇-元件详解-流体库管路

Amesim基础篇-元件详解-流体库管路

2201_75375391的博客 4524

linux c打印进程id,C语言获取进程ID的方法

C语言获取进程ID的方法发布时间:2020-08-27 10:55:34来源:亿速云阅读:443作者:小新小编给大家分享一下C语言获取进程ID的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!我们可以使用getppid()和getpid()函数来获取进程ID,它们都是unistd.h库中定义的内置函数,都可以返回进程ID。下面本篇文章就来给大家简单介绍一下getppid()和get...

weixin_39903538的博客 3430

【学习笔记】人群归因分数 PAF 以及combined PAF(更新)

在此推荐2篇发表在lancet以及jama子刊上的paf文章,这两篇文章套路是一样的,只是在不同国家进行。希望对大家学习PAF有所帮助,后面有新内容也会继续分享,也欢迎大家分享使用R语言计算PAF的经验~~~的时候,先建立了相关矩阵,再做主成分分析,得到communality。详细信息大家可翻阅原文。

weixin_53499537的博客 1498

Fortify SCA 24.4 最新可用版

Fortify Static Code Analyzer(Fortify SCA) 是一款由 Micro Focus(原惠普旗下)开发的 静态应用安全测试(SAST)工具,专注于在软件开发早期通过分析源代码或编译后的二进制文件,识别潜在的安全漏洞、代码缺陷和合规性问题。以下是其核心特点与功能:核心功能 静态代码分析 在不运行程序的情况下,通过语法、语义分析检测代码中的安全漏洞(如 SQL 注入、跨站脚本(XSS)、缓冲区溢出等)和代码质量问题。

棉花糖的博客 3181

打印线程PID

测试程序如下: #include #include #include #include void * thread_start(void *arg) { printf("Process ID: %d, thread ID %d\n", getpid(), gettid()); } int main(void) { pthread_t tid; pthread_

小猪爱拱地 3688

运放专题:运算放大电路中的相位补偿

的方法

五花带点肉 2万+

linux c打印进程id,C/C++知识点之linux驱动打印当前进程名命令与 pid

本文主要向大家介绍了C/C++知识点之linux驱动打印当前进程名命令与 pid,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。hello.c#include/*Neededbyallmodules*/#include/*NeededforKERN_**/#include/*Neededforthemacros*/#include#inclu...

weixin_32005771的博客 781

FunASR语音识别服务在Win11上的Docker部署避坑指南:模型配置与热词优化

本文详细介绍了在Windows 11系统上通过Docker部署FunASR语音识别服务的完整流程,包括环境准备、模型配置、热词优化及常见问题解决方案。特别针对Win11环境下的特殊配置和性能调优提供了实用指南,帮助开发者高效搭建高性能语音识别服务。

e3f4g5的博客 222

RSA算法详解:万字文章详解RSA的加密与解密

为了彻彻底底的研究明白RSA算法,真的是。。煞(lei)费(si)苦(wo)心(le),首先我希望自己前前后后、彻彻底底的琢磨明白,其次我也希望我把他分享出来以后,大家都能读得懂,这篇文章真的是我迄今为止写的又臭又长的一篇文章了,但是我能保证的是,你读完了以后,绝对不会再问RSA是啥玩意儿了。。

布啦啦 7668

C++ 打印pid和tid

获取pid 1. 包含头文件 #include <unistd.h> 2. 在需要打印pid的地方加入 std::cout << "pid = " << getpid() << std::endl; 获取tid 1. 包含头文件 #include <thread> 2. 在需要打印tid的地方加入 std::co...

u013431916的博客 5654

xilinx原语及bank简介

图8是HP bank与HR bank的IO模块,其中PAD是FPGA的金属管脚,IOB是输入、输出引脚的控制模块。此时使用原语就可以只调用需要的组件,不需要去考虑其余组件参数设置,就方便很多,借助此次机会就对IDDR、ODDR、IDELAYE2、ODELAYE2、IDELAYCRTL、ISERDESE、OSERDESE等几个原语做了简要了解,并对原语的各个模式进行了仿真,本文最初是介绍IDDR的,但在介绍IDDR这些原语之前,还需要了解一下7系列FPGA bank的分类和区别,所以就有了本文。

qq_43416206的博客 413

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

c文件printPid.c#include #include #include #include #include static __init int printPid(void) //安装模块函数{struct task_struct *task,*p;struct list_head *ps;int count=0;printk("begin.\n");task=&init_task;...

weixin_39609071的博客 460

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

linux kernel打印进程号,linux 驱动打印当前进程名命令与 pid

hello.c#include/*Needed by all modules*/#include/*Needed for KERN_* */#include/* Needed for the macros */#include#includeMODULE_LICENSE("GPL");staticinthello_init(void){printk(KERN_WARNING"the process...

weixin_42512183的博客 1654

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

python创建子进程 proc.pid(),打印出子进程PID,打印出的进程号,和top显示的相差1

python创建子进程 转自:http://algu.me/?p=201  在使用python的subprocess.Popen()创建的子进程死循环时,当设置shell=True时,使用subprocess.popen().kill()无法杀死子进程,然后换成 os.kill(proc.pid, signal.SIGKILL),同样无法杀死,郁闷纠结之。在kill()后加上

joakimzhang的专栏 1263

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

网络编程-进程-2、如何在程序中查看进程号?

知识点:进程号,简称pid,每启动一个程序都会有一个唯一的pid标记这个程序,当程序关闭时,进程就消失,也就没有进程号了 1、如何在代码程序中查看进程号?看代码: import os,time import multiprocessing """查看进程号,启动一个程序就有一个进程号,简称PID,导入os模块: 查看当前进程的的进程号:os.get...

bangluan7686的博客 360

Linux获取进程名对应的进程号

Linux获取进程名对应的进程号 id=`ps | grep "进程名" | grep -v "grep" | awk '{print $1}'`

wasapp的博客 1990

jstack命令测试

jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息。 命令格式 Usage: jstack [-l] <pid> (to connect to running process) 连接活动进程 jstack -F [-m] [-l] <pid> (to connect to a hung process) 连接阻塞进程 jstack [-m] [-l] <executable&g

zxg的博客 659

Java定位CPU使用高问题 ——转载

Java定位CPU使用高问题–转载1、TOP命令,查询消耗CPU高的进程号 PID,并记录下来,按下键盘”H”键,记录高消耗线程号,并将改线程号转换为十六进制2、使用 jstack [pid] > xx.log 命令打印进程信息,为了定位准确,可以多来几次3、打开日志文件,找到十六进制的线程信息,可定位到具体类的某一行。演示:1、查询消耗CPU高的进程号 PID,并记录下来toptop - 18:

吖脖(博) 442

linux默认进程并发数,linux 下肿么控制进程并发数

#include #include #include #include //#include #define MAX_CHILD_NUMBER 10;int proc_number=0;void do_sth();int main(int argc, char* argv[]){int child_proc_number=MAX_CHILD_NUMBER;int i, id;pid_t child...

weixin_39621819的博客 173

输出堆栈日志

@echo off&setlocal enabledelayedexpansion REM 设置JDK路径 REM set JAVA_HOME=D:\Java\jdk1.6.0_10 REM set PATH=D:\Java\jdk1.6.0_10\bin;C:\WINDOWS\system32; REM 设置网关的pid,可通过任务管理器查看,有500个进程那个 set p_pid...

huang552 562

python如何打印该进程号

我整理的一些关于【Python】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/Hpqqk2Python如何打印该进程号 在Python中,获取并打印当前进程号非常简单。进程号(Process ID,PID)是操作系统分配给每个运行进程的唯一标识符。在许多开发场景中,您可能需...

weixin_41054008的博客 166

查看进程号

查看主进程和父进程

cjy1920的博客 1923

linux内核模块获取进程pid,内核模块打印进程线程PID信息

challenge: 编写一个KO,传入一个PID模块参数,打印进程得父PID, 以及所有线程PID好久没有碰内核驱动,突然要写一个KO文件,并实现PID的打印功能,还是内心慌得一批。话不多说,直接开撸~首先题目是要实现一个KO文件,那么首先要做的就是先具备一个linux调试环境(我这边测试在VM-ware虚拟机上面), 源码部分先上链接https://gitee.com/badbadguys内核...

weixin_33873270的博客 2340

【Linux系统编程】进程概述和进程号

00. 目录 文章目录00. 目录01. 进程概述02. 进程状态03. 进程控制块04. 进程号05. 进程号相关函数06. 案例实战07. 附录 01. 进程概述 我们平时写的 C 语言代码,通过编译器编译,最终它会成为一个可执行程序,当这个可执行程序运行起来后(没有结束之前),它就成为了一个进程。 程序是存放在存储介质上的一个可执行文件,而进程是程序执行的过程。进程的状态是变化的,其包括进...

C/C++软件工程师、嵌入式软件工程师、物联网研发工程师、C/C++讲师、物联网讲师、嵌入式讲师、鸿蒙讲师---欢迎大家一起交流(私信添加博主微信) 3951
上一篇: shell进度条
下一篇: ns-3介绍与安装
Sight2012
博客等级 码龄12年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值