#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");