![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 14.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Chciałbym zrobić skrypt, który będzie uruchomiony w tle na linux. Jego zadaniem będzie nasłuchiwanie na wskazanym intefejsie i wykrywanie pingów, które na ten interfejs mogą przyjść. Chodzi o to, że w momencie wykrycia pakietu ICMP (pinga) dodaje jakieś informacje do bazy danych. Proszę o wskazówki lub jakieś informacje, które pomogą w rozwiązaniu problemu. Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 307 Pomógł: 37 Dołączył: 9.11.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
I jesteś absolutnie przekonany że powinieneś to zrealizować w PHP ? Niestety mimo że widzę wiele zastosowań dla PHP to pracujący w tle daemon zdecydowanie nie jest jednym z nich. Napisz to sobie w jakimś nie interpretowanym języku niższego poziomu.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 677 Pomógł: 89 Dołączył: 31.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Niestety mimo że widzę wiele zastosowań dla PHP to pracujący w tle daemon zdecydowanie nie jest jednym z nich. Napisz to sobie w jakimś nie interpretowanym języku niższego poziomu. Rozwiń swoją wypowiedź. Dlaczego uważasz, że do pracującego w tle daemona PHP się nie nadaje? Jakieś doświadczenie w tym temacie, czy tylko "tak mi się wydaje" i "PHP jest do tworzenia aplikacji WWW"?... A do autora wątku - stream_socket_server i powiązane. Ten post edytował mls 15.02.2012, 12:12:31 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 307 Pomógł: 37 Dołączył: 9.11.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Na przykład przez tragiczny GC który podczas długotrwałej pracy takiego daemon'a będzie miał cały ogrom okazji aby pokazać swoje wady. Dodatkowo to że język posiada timeout wykonania sugeruje mi że nie został stworzony w takim celu (oczywiście możesz napisać nawet system obsługi promu kosmicznego w php, ale raczej skończysz w oceanie aniżeli na orbicie). Ponadto musimy pamiętać że w tak błachej potrzebie nie ma sensu ładować do pamięci całego ociężałego interpretera PHP wraz z całym bagażem podczas gdy możemy zrobić to przy kilkudziesięciokrotnie mneijszym zużyciu CPU oraz pamięci (oczywiście mówię tutaj o interpretacji nie o skompilowanym OPCode. To takie pierwsze które przychodza mi do głowy.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 677 Pomógł: 89 Dołączył: 31.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Czyli tak jak myślałem. Zero praktyki, tylko teoria... No to wracam do pisania mojego daemona w PHP który przy obsłudze ~10000 jednoczesnych połączeń nie obciąża procesora więcej niż o 1%, podobnie jak i z użyciem pamięci - które jest minimalne. Co ciekawe, po ok. czterech miesiącach ciągłej pracy owego "skryptu" nie zauważono, by się rozrastał w pamięci...
Ten post edytował mls 15.02.2012, 12:27:05 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 307 Pomógł: 37 Dołączył: 9.11.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
No to powodzenia kolego (IMG:style_emoticons/default/smile.gif) Ja ci przecież nie życzę niczego złego (bo chyba jakoś niesamowicie negatywnie odebrałeś moją wypowiedź) i nie rozumiem tej zgryźliwości. Ja tylko nakreślam fakt że sama instancja procesu interpretera PHP pobierze o wiele więcej pamięci niż 100 instancji tej samej prostej aplikacji napisanej w nieinterpretowanym języku, z resztą przy większych projektach PHP już umarło (co tylko potwierdził FB ze swoim pseudo kompilatorem). Ale to zrewiduje już historia, ja już nie będę offtopował w tym temacie gdyż nie jest to to o co pytał @antost. Pozdrawiam serdecznie.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 702 Pomógł: 65 Dołączył: 16.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
poczytaj o Nulog ulog + nulog ,całość załatwi sprawę
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 14.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za tego Ulog'a.
Napewno się przyda. Można w sumie zewnętrzne skrypty wykonywać jak się połączy z MySql UDF sys_exec() i triggerami. Ten post edytował antost 15.02.2012, 16:31:14 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 13:52 |