From 3c0b0673b30576fb261257ff806e47bacdfa0e44 Mon Sep 17 00:00:00 2001 From: Florian RICHER Date: Sat, 8 Feb 2025 18:27:36 +0100 Subject: [PATCH] Add process_monitor --- 03_process_monitor/Makefile | 7 +++++++ 03_process_monitor/test_module.c | 34 ++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 03_process_monitor/Makefile create mode 100644 03_process_monitor/test_module.c diff --git a/03_process_monitor/Makefile b/03_process_monitor/Makefile new file mode 100644 index 0000000..b909b3c --- /dev/null +++ b/03_process_monitor/Makefile @@ -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 diff --git a/03_process_monitor/test_module.c b/03_process_monitor/test_module.c new file mode 100644 index 0000000..d50ad8f --- /dev/null +++ b/03_process_monitor/test_module.c @@ -0,0 +1,34 @@ +#include +#include +#include +#include +#include + +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"); +MODULE_DESCRIPTION("Un module noyau qui affiche les processus en cours"); +MODULE_VERSION("1.0");