🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #52366

Re: Gdzie sie wszyscy podziali?

#52366
From: Stachu 'Dozzie' K.
Date: Tue, 31 Jan 2012 14:46
45 lines
3240 bytes
On 2012-01-31, PawelS <cbrbob@10g.pl> wrote:
> Stachu 'Dozzie' K. pisze:
>> On 2012-01-31, Przemysław Basa <pmb@langbit.pl> wrote:
>>> W dniu 31.01.2012 09:54, Stachu 'Dozzie' K. pisze:
>>>>>> Daemonizacja skryptu.
>>>>> Czy masz na myśli brak obsługi tego poniżej ?
>>>>> http://php.net/manual/en/ref.sockets.php
>>>> Nie. Mam na myśli takie uruchomienie skryptu, żeby sam się odłączył od
>>>> terminala i dalej pracował nieinteraktywnie, to znaczy żeby zrobił się
>>>> daemonem (usługą).
>>>>
>>> Nie to, żebym lubił php ale
>>> http://php.net/manual/en/function.posix-setsid.php
>>> http://php.net/manual/en/function.pcntl-fork.php
>> 
>> OK, są funkcje. A jakiś moduł/biblioteka, która pozwoli na automatyczne
>> zarządzanie tym ustrojstwem? Wiesz, PID file, ochrona przed wielokrotnym
>> uruchomieniem, te sprawy?
> Z racji że wspomniałeś o Perlu:
>> Mam na myśli bibliotekę robiącą coś podobnego do funkcji getopt(3)
>> z glibc, perlowego modułu Getopt::Long albo biblioteki popt,
> Podaj sposób zarządzania "tym ustrojstwem" w Perlu,
> to co znalazłem w sieci na szybko:
> Properly daemonize a process
> http://snippets.dzone.com/posts/show/359
> to z powodzeniem można napisać w PHP,
> mam tu na myśli ciekawy element blokowania samego siebie
> open(SELFLOCK, "<$0") or die("Couldn't open $0: $!\n");
> flock(SELFLOCK, LOCK_EX | LOCK_NB) or
> die("Aborting: another $ProgramName is already running\n");

Nienienienie. Nie chodzi o to, że w Perlu da się tak samo napisać jak
w PHP używając surowego API systemu operacyjnego. Spróbuj mi znaleźć
bibliotekę w PHP, która robi to samo, co moduł App::Daemon. Ja naprawdę
nie mam ochoty po raz czterysetny pisać obsługi pidfile'a wraz ze
wszystkimi dziwnymi przypadkami (daemon umarł, a pidfile został).

W środowisku pisaczy PHP nie ma zwyczaju upakowywać takich
powtarzalnych, nudnych zadań w biblioteki, przez co za każdym razem
pisacz musi się szarpać z pisaniem tego samego od zera. Nie ma czegoś
takiego jak "code reuse". To jest upierdliwe.

-- 
Secunia non olet.
Stanislaw Klekot
Technical Details
Message-ID: <slrnjifvmm.7tm.dozzie@jarowit.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED!not-for-mail
References: <jevhsn$b4n$1@inews.gazeta.pl> <jg320d$78v$1@usenet.news.interia.pl> <jg3gv5$fhp$1@julia.coi.pw.edu.pl> <slrnjibnqn.j5o.dozzie@jarowit.net> <jg60hd$5nj$1@julia.coi.pw.edu.pl> <slrnjid2s2.j5o.dozzie@jarowit.net> <jg6odt$c7a$1@julia.coi.pw.edu.pl> <slrnjifb31.lu2.dozzie@jarowit.net> <jg8oig$nrc$1@mx1.internetia.pl> <slrnjifpj8.j5o.dozzie@jarowit.net> <jg8uf6$vd9$1@julia.coi.pw.edu.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED!not-for-mail
From: "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid>
Newsgroups: pl.comp.lang.perl
Subject: Re: Gdzie sie wszyscy podziali?
Date: Tue, 31 Jan 2012 14:46:47 +0000 (UTC)
Organization: Aioe.org NNTP Server
Lines: 45
Message-ID: <slrnjifvmm.7tm.dozzie@jarowit.net>
References: <jevhsn$b4n$1@inews.gazeta.pl> <jg320d$78v$1@usenet.news.interia.pl> <jg3gv5$fhp$1@julia.coi.pw.edu.pl> <slrnjibnqn.j5o.dozzie@jarowit.net> <jg60hd$5nj$1@julia.coi.pw.edu.pl> <slrnjid2s2.j5o.dozzie@jarowit.net> <jg6odt$c7a$1@julia.coi.pw.edu.pl> <slrnjifb31.lu2.dozzie@jarowit.net> <jg8oig$nrc$1@mx1.internetia.pl> <slrnjifpj8.j5o.dozzie@jarowit.net> <jg8uf6$vd9$1@julia.coi.pw.edu.pl>
NNTP-Posting-Host: 32kR2H3mw0v3HL1sSnS9/A.user.speranza.aioe.org
Mime-Version: 1.0
X-Complaints-To: abuse@aioe.org
User-Agent: slrn/pre0.9.9-111 (Linux)
X-Notice: Filtered by postfilter v. 0.8.2
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit