How to print the process number using the interface provided by kernel
This article is about how to use the interface provided by kernel to print process numbers. The editor thinks it is very practical, so share it with you as a reference and follow the editor to have a look.
C file printPid.c
The code is as follows:
# include
# include
# include
# include
# include
Static _ _ init int printPid (void) / / install module function
{
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) / / uninstall the function
{
Printk ("exit!\ n")
}
Module_init (printPid); / / the implemented function must be put into it
Module_exit (exitPid)
The pid.ko file is generated after make.
Then use these commands:
The code is as follows:
# installation module
Sudo insmod pid
# display log information
Dmesg
# display all mounted modules
Lsmod
# Uninstall
Sudo rmmod pid
Thank you for reading! This is the end of the article on "how to print the process number using the interface provided by kernel". I hope the above content can be of some help to you, so that you can learn more knowledge. if you think the article is good, you can share it for more people to see!