Post
#1
|
|
|
Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%)
|
<?php require_once ('Daemon.class.php'); require_once ('TestDaemon.class.php'); $Daemon = new TestDaemon(); $Daemon->start(); ?>
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%)
|
Jak najbardziej mogl by dzialac w petli (zreszta i tak i tak dziala (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) ale tworzenie kopi rodzica ma nieco inny sens. Otoz jedna kopia (rodzic) jest jakby przypisana do konsoli - dopoki ona dziala nie moze "uwolnic" konsoli. Tworzac jej kopie (dziecko) automatycznie przechodzi ona w tlo i nie ma powiazania z konsola (nie mozna nic wypisac z poziomu dzicka na konsole).
Teraz zamykamy proces rodzica, przez co odlaczamy sie od konsoli i mozemy - my jako user - korzystac z konsoli. Tymczasem nadal dziala sobie kopia (dziecko) naszego demona - w tle. Na liscie procesow wygladalo by to mniej wiecej tak: 1) Start programu Kod Nr. PID Nazwa 21432 Demon 2) Rozdzielamy procesy (fork) Kod Nr. PID Nazwa 21432 Demon | \---- 21438 Demon(dziecko) 3) Zamykamy rodzica Kod Nr. PID Nazwa | \---- 21438 Demon(dziecko) 4) Teraz musimy ustawic dziecko na session leadera Kod Nr. PID Nazwa 21438 Demon(dziecko) Teraz co do konsoli: w pkt. 2 Demon z PIDem 21432 ma dostep do konsoli, a 21438 juz nie. W tym momencie mamy zajeta konsole i nie mozemy wykonywac zadnych polecen. W pkt 3 mamy juz zwolniona konsole i mozemy z niej korzystac a nadal mamy dzialajacego demona w tle. Do tego mozemy kontrolowac demona za pomoca sygnalow np: Kod kill SIGTERM [nr pid] --------------------------------------------------[ edit ] Co do implementacji pod Windowsa to niestety nie jest to mozliwe uzywajac standardowych rozszezen php. Mozna by napisac handlera serwisu Windowsowego w innym jezyku, ktory by korzystal z php ale jest to za duzo zachodu. Jest jednak nadzieja (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Dzisiaj znalazlem cos co moze sprawic, ze nawet pod Windowsa bedziemy mogli napisac swoj serwis (demona). Rozszezenie win32service napisany przez Weza Furlonga, ktore znajduje sie w zbiorze rozszezen PECL php: http://snaps.php.net/win32/PECL_5_0/ Dziala co prawda tylko pod php 5 ale raczej nie bedzie to wielkim problemem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Patrzac na przyklad uzycia tego rozszezenia mozna smialo powiedziec, ze jest bardzo latwe w uzyciu:
Ten post edytował Seth 8.02.2006, 13:11:51 |
|
|
|
Seth Demon UNIXowy w php 7.02.2006, 16:53:58
ActivePlayer ja odnosnie etapów.
Cytat * Rozwidlic... 7.02.2006, 18:45:54
LBO hmmm.. a moze kilka słów o zastosowaniach... ?..
... 23.02.2006, 17:03:56
slash. co do tematu demona w srodowisku windows, cytujac ... 25.02.2006, 12:22:49 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 02:51 |