Joachim Graf <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
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 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]