Guest JuergenDanke für die Antwort.
Ich möchte mein Programm nicht schneller machen, sondern lediglich irgendeine Art Rückmeldung haben, dass mein Programm noch läuft.
Während der Ausführung meines Moduls steht das gesamte Programm - gefreezed.
Nun ist es denn ein richtiges Modul ala CPAN? Das man installieren und überall nutzen kann? Wenn dem so ist dann solltest und darfst du nicht einfach eine ausgabe machen. Sonst beschränkst du die nutzbarkeit deines Moduls.
Was ist wenn ich z.B. eine Webanwendung habe, wo und wie willst du dort eine Ausgabe machen? Zumal ich langlaufende Prozesso sowieso als Jobserver laufen lassen würde, und die genaue Laufzeit dann sowieso eher vernachlässigbar ist.
QuoteWoher soll der Benutzer wissen, ob das Programm abgestürtzt ist oder noch arbeitet? Wie kann ich denn sowas bewerkstelligen?
Wenn es nicht nur ein Modul sondern ein fertiges Programm ist, bzw. dein Modul nur in deiner App verwendet wird, dann kannst du sicherlich eine Ausgabe machen. POE kann dir hier weiterhelfen. Allerdiengs müsstest du wie gesagt dein komplettes Modul umschreiben so das es Event gesteuert Funktioniert.
Besser wäre es dann wenn du einfach forkst und einen zweiten Prozess einfach die ausgabe machen lässt, über Pipest kannst du kommunizieren und den zweiten Prozess wieder beenden wenn der Prozess fertig ist.
Zwar würde ich soetwas selber hinbekommen allerdiengs bin ich darin nicht geübt und habe soetwas schon länger nicht mehr gemacht. Andere werden dir da sicher helfen können. Ansonsten musst du dir fork() und IO::Pipe anschauen. Auch könnte das Modul "forks" für dich Interessant sein da es die API der Thread Schnittstelle hat intern das ganze aber über Prozesse abbildet.
Eventuell gibt es noch andere brauchbare Module für diese aufgabe.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de