Re: ps- sourcecode, task_struct
Joachim Graf <i@need4.de> writes:
> Hallo,
>
> ich muss an der Uni ein Programm schreiben das alle Prozesse auflistet
> welche ihr root-Verzeichnis (chroot) geändert haben.
>
> Meine Idee war ich nehme die Sourcen des ps-Kommandos und passe diese
> meinen Erfordernissen an.
> Geht aber nur falls 'ps' die task_struct benutzt und sich da
> durchhangelt, denn in der Struktur könnte ich dann einfach den
> fs-Zeiger abprüfen und dann in der fs_struct den root-Eintrag abprüfen
> (Idee habe ich von hier:
> http://i30www.ibds.uka.de/teaching/coursedocuments/19/3.4DSs.ppt).
>
> Jetzt mein Problem, kann mir jemand sagen wo ich die Sourcen für das
> ps-Kommando für debian herbekomme ?
> Benutzt das ps-Kommando überhaupt die 'task_struct' ?
>
> Oder gibt es irgendwo ein Beispiel wie man ein kleines Programm
> schreibt mit welchem man sich durch den Prozessbaum mit Hilfe der
> 'task_strukt' hangeln kann ?
> Wie gesagt die 'task_struct' kenne ich, nur wie ich die initialisiere,
> einbinde (header usw.) ist mir nicht klar.
> Das durchhangeln mittels next_task,prev_task ist mir klar.
>
> Danke und Grüsse Joachim Graf
>
>
> --
> To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Da dies eine englisch sprachige Liste ist ...
If the language hasn't been specified:
find /proc -maxdepth 1 -type d | while read D; do if [ -L $D/root ]; then if ! [ "$(sudo readlink $D/root)" = "/" ]; then echo $D | cut -d/ -f3; fi; fi; done
Note the sudo readlink. That is the only part needing root and only
works outside of any chroot.
Now you do it correct in C. :)
% which ps
/bin/ps
% dpkg -S /bin/ps
procps: /bin/ps
% apt-get source procps
MfG
Goswin
Reply to: