Begin work on rust versions of modules
This commit is contained in:
parent
1f2cc50f26
commit
91f8ca7f49
23 changed files with 53 additions and 9 deletions
7
lang_c/04_process_monitor/Makefile
Normal file
7
lang_c/04_process_monitor/Makefile
Normal file
|
@ -0,0 +1,7 @@
|
|||
obj-m += test_module.o
|
||||
|
||||
all:
|
||||
make -C $(LINUX_MODULES_FOLDER)/build M=$(PWD) modules
|
||||
|
||||
clean:
|
||||
make -C $(LINUX_MODULES_FOLDER)/build M=$(PWD) clean
|
38
lang_c/04_process_monitor/test_module.c
Normal file
38
lang_c/04_process_monitor/test_module.c
Normal file
|
@ -0,0 +1,38 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/sched/signal.h>
|
||||
|
||||
static inline void print_processus_info(void);
|
||||
|
||||
static int __init basic_module_init(void)
|
||||
{
|
||||
pr_info("Bonjour! Le module est chargé.\n");
|
||||
|
||||
print_processus_info();
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void __exit basic_module_exit(void)
|
||||
{
|
||||
pr_info("Au revoir! Le module est déchargé.\n");
|
||||
}
|
||||
|
||||
static inline void print_processus_info(void)
|
||||
{
|
||||
struct task_struct *task;
|
||||
|
||||
for_each_process(task) {
|
||||
pr_info("PID: %d, COMM: %s, ON CPU: %d\n", task->pid,
|
||||
task->comm, task->on_cpu);
|
||||
}
|
||||
}
|
||||
|
||||
module_init(basic_module_init);
|
||||
module_exit(basic_module_exit);
|
||||
|
||||
MODULE_LICENSE("MIT License");
|
||||
MODULE_AUTHOR("Florian RICHER <florian.richer@protonmail.com>");
|
||||
MODULE_DESCRIPTION("Un module noyau qui affiche les processus en cours");
|
||||
MODULE_VERSION("1.0");
|
Loading…
Add table
Add a link
Reference in a new issue