Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: k@rl.pflaesterer.de (Karl =?utf-8?Q?Pfl=C3=A4sterer?=) Newsgroups: de.comp.lang.php Subject: Re: Offene File Handles nach kopieren mit phpseclib3 Date: Thu, 19 Aug 2021 12:50:53 +0200 Lines: 39 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net zNQe+sbrkOybALsoeoltDg0hZPtpvTi2rDyVFokGMCaI7ZZEE= Cancel-Lock: sha1:KiUOejJsVOSrgsiKC2po71J+8cs= sha1:wBI20Lk+ezEtdcHMUs5lcE+iTdU= User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (darwin) Xref: csiph.com de.comp.lang.php:4727 Jan Novak writes: > Hallo, > > ein primärer php (cli) Prozess forkt immer wieder neu einen Prozess, welcher > Dateien u.a. mit der "phpseclib3" Klasse von Server a nach b kopiert. Leider > bleibt nach dem Kopieren immer ein File Handle offen, was nach gewisser Zeit > Probleme natürlich macht, obwohl der ge'forkte Prozess sich sauber beendet > hat. > > Die einzige Möglichkeit dies zu verhindern, bzw. zu resetten ist im Moment, > den primären CLI Prozess neu zu starten, was aber in unserem Fall andere > Nachteile mit sich zieht. > > Meine Frage: > Gibt es ein Möglichkeit, die offenen Handles korrekt schliessen zu lassen? > > zur Info: Sofern die Dateien mit anderen Klassen z.B. per ftp oder nur lokal > kopiert werden, besteht das Problem nicht. Nur dann, wenn die phpseclib3 > benutzt wird. Ohne dass du beschreibst, was du warum machst, kann dir niemand helfen. Bei deiner Beschreibung nehme ich mal an, dass die Prozesse auf Linux/BSD (oder etwas anderem unixoiden) laufen. Erste Frage: warum nimmst du phpseclib, wenn die Lib bei dir Fehler produziert? Wie kopierst du? Hast du Nutzername/Passwort oder private/public key zur Authentisierung? Im letzeren Fall: nimm rsync. Warum nutzt du einen eigenen Daemon? Ein Cron Job, der dein Skript peridisch startet ist deutlich simpler. Wie forkst du genau? etc pp. KP