Pliki_SOP/Microshell/opis

90 lines
1.9 KiB
Plaintext

pobralem biblioteke zrobilem
./configure
make
sudo make install
rownie dobrze mozna zrobic apt-install
ldconfig -v | head
patrze czy jest zlinkowane jak nie to dodaje ldconfig -n "sciezka lib"
sudo ldconfig
dorzucam do gcc -lreadline
ale i tak nic to nie daje
nie byo ncurses
instaluje apt install
i dorzucam do gcc -ncurses
!!!
dodam moja funkcje showtree ktora bedzie wyswietlac w formie drzewa strukture katalogow
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
/*fgets(komenda, max, stdin);*/