[ Pobierz całość w formacie PDF ]
.Skrypt rc.6 wlasnieje uruchamia */x1:6:wait:/etc/rc.d/rc.6/* koniec pliku /etc/inittab */Prawda o programie init.Tak naprawde to program init dziala troche inaczej.Sa to w zasadziedwa programy w jednym.Jeden jest wykonywany jezeli identyfikatorem procesujest liczba 1, natomiast drugi wpp.Pierwszy program to wlasnie ten, ktoryopisalem na tej stronie, natomiast drugi sluzy do powiadomienia "prawdziwegoinita", ze chcemy zmienic poziom dzialania.algorytm: Prawdziwy init;wejsie: Poziom, na ktory chcemy przejsc, lub brak jesli to ma byc proceso id=1.wyjsie: brak;{Pobierz identyfikator twojego procesu;if (jest on rowny jeden) wykonaj algorytminitelseif (id uzytkownika jest rozny od zera) return; /* zmiany poziomu mozedokonac tylko root */else { /* zmieniamy poziom */Zapisz w pliku /etc/initrunlevel jaki ma byc nowy poziom;Wyslij do "prawdziwego inita" sygnal SIGHUP; /* Patrz obslugetego sygnalu przez init, tutaj */} /* zmieniamy poziom*/} /* else */} /* Prawdziwy init */Pozwolilem sobie na takie male oszustwo, zeby opis dzialania inita bylozgodny z opisem przedstawianym w wielu ksiazkach np Bacha, Stevensa.Mamnadzieje, ze zostanie mi to wybaczone.BibliografiaPlik zrodlowy Linuxa: init/main.cPlik zrodlowy Inita: init.c (System V init clone ver 2.64)manAutor: Krzysztof Micek
[ Pobierz całość w formacie PDF ]