Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Structure des processus

2 réponses
Avatar
Kevin Denis
Bonjour,

le noyau linux utilise des processus. Ces processus sont bien stockés
quelque part dans la mémoire physique d'une machine. La doc indique qu'un
processus est un structure.

Cette structure est définie dans <linux/sched.h> task_struct.

Il devrait donc être possible, en scannant toute la mémoire physique d'une
machine de retrouver les processus et leurs infos associées, tels qu'on
peut les lire dans /proc.

Après quelques recherches, j'ai trouvé une ancienne fonction, appelée
find_task_by_pid() qui devrait permettre de retrouver la structure
task_struc par son pid. Il suffirait donc de lancer cette fonction
de 1 à nombre process max sur toute la mémoire pour vérifier si une
structure est renvoyée.
Si on a une structure, alors c'est qu'un process existe, s'il n'y
a rien, alors, pas de processus.

Mais cette fonction semble avoir disparue du noyau. Quelqu'un sait
il s'il existe un remplaçant de celle-ci, ou un équivalent?

Merci
--
Kevin

2 réponses

Avatar
Emmanuel Florac
Le Tue, 11 May 2010 15:40:09 +0000, Kevin Denis a écrit:


Mais cette fonction semble avoir disparue du noyau. Quelqu'un sait il
s'il existe un remplaçant de celle-ci, ou un équivalent?



Mais qu'est ce que tu cherches à faire exactement? Pourquoi ne pas
simplement parcourir /proc ? J'ai peur que tu cherches la réponse à la
mauvaise question...

--
The fact that a believer is happier than a sceptic is no more to the
point than the fact that a drunken man is happier than a sober one.
The happiness of credulity is a cheap and dangerous quality.
George Bernard Shaw
Avatar
Kevin Denis
Le 11-05-2010, Emmanuel Florac a écrit :
Mais cette fonction semble avoir disparue du noyau. Quelqu'un sait il
s'il existe un remplaçant de celle-ci, ou un équivalent?



Mais qu'est ce que tu cherches à faire exactement?



Comprendre comment le système fonctionne. Pour utiliser d'autres mots,
je dirais forensics ou anti-rootkits.

Pourquoi ne pas simplement parcourir /proc ?



Justement, le but pour moi c'est de reconstruire /proc/<pid> en
parcourant la mémoire.

J'ai peur que tu cherches la réponse à la mauvaise question...



Se poser des questions n'est jamais mauvais :) Mais si tu as une
meilleure approche, je suis preneur.
--
Kevin