时间:2021-05-22
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
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Linux中查看某个进程占用内存的情况,执行如下命令即可,将其中的[pid]替换成相应进程的PID号:复制代码代码如下:cat/proc/[pid]/statu
用法为打开cmd后输入以下命令就可以结束进程:方法一:利用进程的PID结束进程命令格式:ntsd-cq-ppid命令范例:ntsd-cq-p1332(结束PID
进程状态变量1、$$获取当前shell的进程号(PID)2、$!执行上一个指令的PID3、$?获取执行上一个命令的返回值(0为成功,非零为失败,这个很常
一般PID_MAX=0x8000(可改),因此进程号的最大值为0x7fff,即32767。进程号0-299保留给daemon进程。现在的内核好像没有这个限制了,
在linux中,/proc/$PID/status文件提供了该进程资源(内存,堆栈,信号量,子父进程)的使用情况,虽然linux提供了不少查看内存的命令,但都是