showtree testing

This commit is contained in:
Jakub Adamski 2019-01-14 15:01:09 +01:00
parent c973dc63ae
commit 4ee50dda46
5 changed files with 64 additions and 0 deletions

View File

@ -0,0 +1 @@
hdhd

View File

@ -0,0 +1 @@
testtt

View File

@ -20,6 +20,68 @@ dodam moja funkcje showtree ktora bedzie wyswietlac w formie drzewa strukture ka
oraz funkcje wyswietlajaca procesy proc
!!!
jak dziala showtree
-->fork() //pierwszy
tab=0
otwieramy katalog zrodlowy
czytamy zawartosc
name = pierwszy element
jesli nie rowna sie . lub .. to
-->fork() //drugi (pierwszy sie zatrzymuje)
trafiamy na katalog mozna go otworzyc
zamykamy poprzednia sciezke
nie printujemy tab
print name w niebieskim
otwieramy nowy katalog tab++
____
katalog
____
czytamy teraz z katalogu
name = test
nie rowna sie . lub ..
-->fork() //trzeci pierwszy i drugi czeka
mozna otworzyc test
printujemy jeden tab
printujemy test w niebieskim
zamykamy stara sciezke
otwieramy nowa tab++
____
katalog
|test
____
czytamy teraz z katalogu test
name = test.txt
nie rowna sie . lub ..
-->fork() //czwarty trzeci drugi pierwszy czeka
nie mozna otworzyc
printujemy tab i nazwe pliku
___
katalog
|test
| |test.txt
____
exit(0)
czwarty fork koniec
trzeci na stanie otwarty test czytamy dalej zawartosc
nie ma juz nic wychodzimy z while zamykamy katalog test
exit(0)
trzeci fork koniec
drugi na stanie czytamy z katalog tab = 1
printujemy plik1.txt
koniec elementow
zamykamy katalog exit
drugi fork koniec
pierwszy na stanie czytamy z Microshell i tab=0
wyswietlamy dalej elementy
koniec elementow zamykamy microshell i exit
pierwszy fork koniec
showtree czekalo i teraz zwraca return
wydaje mi sie ze mozna juz bez tego pierwszego forka
po showtree mozna zmieniac pliki i katalogi wiec wszystko jest ok
dobrze zamyka sciezki
z komentarzy
p->pw_name
mozna zrobic (*p).pw_name