[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: