Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2012-04-22 18:18:32

  Alkifron - Użytkownik

Alkifron
Użytkownik
Zarejestrowany: 2012-04-22

start skryptów w określonej kolejności

Witam.

Dystrybucja Debian Squeezy

Po umieszczeniu skryptu, (który ma startować razem z systemem) w init.d i użyciu polecenia np. update-rc.d nazwa_skryptu start 09 2 3 4 5 stop 20 0 1 6 skrypt otrzymuje nazwę S19nazwa_skryptu próbowałem zgodnie z manualem
http://manpages.ubuntu.com/manpages/dapper/pl/man8/update-rc.d.8.html
ale zawsze nazwa zaczyna się na S19. Co zrobić gdybym chciał żeby skrypt uruchamiał się wcześniej czyli żeby nazwa była np. S09nawza_skryptu
Nagłówek dodałem zgodnie z instrukcją:

Kod:

### BEGIN INIT INFO
# Provides:        mystartup
# Required-Start:    $remote_fs $syslog
# Required-Stop:    $remote_fs $syslog
# Default-Start:    2 3 4 5
# Default-Stop:        0 1 6
# Short-Description: my script
# Description:       Enable service provided by daemon.
### END INIT INFO

Ostatnio edytowany przez Alkifron (2012-04-22 18:22:01)

Offline

 

#2  2012-04-22 20:00:16

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: start skryptów w określonej kolejności

1. Próbujesz dopasować prawie sześcioletnią dokumentację dla Ubuntu do aktualnego Debiana. Czasem to nie ma większego znaczenia, ale akurat w przypadku skryptów uruchomieniowych ma kolosalne (zwłaszcza że w którymś momencie Ubuntu przeszło na własny system uruchomieniowy, upstart).

2. W Debianie Squeeze wprowadzono system uruchomieniowy oparty o zależności, który domyślnie — o ile można — uruchamia zadania równolegle. To stawia pod znakiem zapytania Twój podstawowy problem — dlaczego w ogóle chcesz, żeby Twój skrypt uruchamiał się w określonym momencie? Czemu nie może się uruchamiać później?

Offline

 

#3  2012-04-22 20:36:53

  Alkifron - Użytkownik

Alkifron
Użytkownik
Zarejestrowany: 2012-04-22

Re: start skryptów w określonej kolejności

Minio napisał(-a):

1. Próbujesz dopasować prawie sześcioletnią dokumentację dla Ubuntu do aktualnego Debiana.

Nigdy w życiu, po prostu chciałem pokazać co robiłem.

Czasem to nie ma większego znaczenia, ale akurat w przypadku skryptów uruchomieniowych ma kolosalne (zwłaszcza że w którymś momencie Ubuntu przeszło na własny system uruchomieniowy, upstart).

To wiem, dlatego korzystałem z tego polecenia.

2. W Debianie Squeeze wprowadzono system uruchomieniowy oparty o zależności, który domyślnie — o ile można — uruchamia zadania równolegle. To stawia pod znakiem zapytania Twój podstawowy problem — dlaczego w ogóle chcesz, żeby Twój skrypt uruchamiał się w określonym momencie? Czemu nie może się uruchamiać później?

A ta informacja mi gdzieś umknęła. Dzięki, taka odpowiedź mi wystarczy.
Tak naprawdę nie jest mi to w tym momencie potrzebne, to takie czystko teoretyczne moje rozważanie.

Offline

 

#4  2012-04-22 21:03:34

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: start skryptów w określonej kolejności

Czysto teoretycznie jest to możliwe — musiałbyś zmodyfikować jakąś w miarę wczesną usługę, żeby uruchamiała się dopiero wtedy, gdy już uruchomi się Twój skrypt. Debian jak sobie policzy zależności to ten Twój skrypt umieści wcześnie w procesie całego uruchamiania.

Ale tak naprawdę chyba częściej chcesz opóźniać start pewnych usług, niż go przyśpieszać. Stosunkowo późno dostępna jest sieć czy pamięć przenośna podłączana przez USB (i inne urządzenia tego typu, może prócz klawiatury). Usługi wymagające do pracy ich dostępności muszą więc czekać zanim zostaną uruchomione. Np. u mnie dysk zewnętrzny podłączany przez USB jest zauważany przez Debiana mniej więcej wtedy, gdyż już uruchomiony jest graficzny menedżer logowania (oczywiście dysk jest podłączony do komputera w chwili uruchomienia). Chociaż jest on wpisany do /etc/fstab, Debian go nie montuje, gdyż odpowiednie urządzenie blokowe w /dev/ nie jest jeszcze gotowe. Dlatego do rc.local dopisałem pętlę, która czeka aż dysk będzie dostępny i wtedy go montuje (zostawiłbym to udisks, ale w wersji dostępnej w Debianie montuje on urządzenia jako użytkownik uruchamiający z uprawnieniami 700, a ja mam parę demonów które muszą móc z tego dysku czytać, a działają jako osobni użytkownicy).

Offline

 

#5  2012-04-22 21:23:05

  Alkifron - Użytkownik

Alkifron
Użytkownik
Zarejestrowany: 2012-04-22

Re: start skryptów w określonej kolejności

No wg debian reference nazwy plików w katalogach rcX.d oznaczają kolejność uruchamiania, czyli teoretycznie gdybym zmienił nazwę pliku z S19 na S09 to skrypt S09 powinien uruchomić się przed S19. No ale wg tych informacji, które mi zamieściłeś w linku to raczej nie ma sensu.

Offline

 

#6  2012-04-22 22:05:48

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: start skryptów w określonej kolejności

Możesz przy pomocy bootchart sprawdzić, jak jest faktycznie. Ale różnica będzie rzędu — w najlepszym wypadku — dziesiątych części sekundy, więc raczej nie ma co sobie głowy zawracać.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)