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: Brno, Česko
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 [url=http://www.debian.org/releases/stable/i386/release-notes/ch-whats-new.en.html#dependency-boot]oparty o zależności[/url], 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?


Spinnen Essen: [url=http://fluxboxpl.org/portal/]FluxboxPL[/url] [url=http://przepis-na-lo.pl/]Przepis na LibreOffice[/url]

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

[quote=Minio]1. Próbujesz dopasować prawie sześcioletnią dokumentację dla Ubuntu do aktualnego Debiana.[/quote]
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).[/quote]
To wiem, dlatego korzystałem z tego polecenia.

2. W Debianie Squeeze wprowadzono system uruchomieniowy [url=http://www.debian.org/releases/stable/i386/release-notes/ch-whats-new.en.html#dependency-boot]oparty o zależności[/url], 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?[/quote]
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: Brno, Česko
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 [tt]udisks[/tt], 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).


Spinnen Essen: [url=http://fluxboxpl.org/portal/]FluxboxPL[/url] [url=http://przepis-na-lo.pl/]Przepis na LibreOffice[/url]

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: Brno, Česko
Zarejestrowany: 2007-12-22
Serwis

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

Możesz przy pomocy [deb]bootchart[/deb] 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ć.


Spinnen Essen: [url=http://fluxboxpl.org/portal/]FluxboxPL[/url] [url=http://przepis-na-lo.pl/]Przepis na LibreOffice[/url]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.009 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00010 SET CHARSET latin2
0.00008 SET NAMES latin2
0.00115 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.129.211.116' WHERE u.id=1
0.00095 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.129.211.116', 1732961731)
0.00047 SELECT * FROM punbb_online WHERE logged<1732961431
0.00064 SELECT topic_id FROM punbb_posts WHERE id=200706
0.00089 SELECT id FROM punbb_posts WHERE topic_id=21143 ORDER BY posted
0.00084 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=21143 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00080 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=21143 ORDER BY p.id LIMIT 0,25
0.00140 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=21143
Total query time: 0.00737 s