Halihallo Rol
Was verstehst du denn nicht?
Ehrlich gesagt fast alles.
Na, das werden wir mit der Zeit schon biegen ;-)
D. h. du kannst das script, was oben steht, wie folgt verwenden (bei mir läuft es übrigens ganz prima):
perl start_detaches_process.pl script_to_run.pl
Danach zeigt der Task-Manager ein 'Winampa' bzw. 'Winoldap'.
Ich schätze das wird mein Script sein, man sieht's ja sonst nicht.
Nene, das ist nicht das Perlprogramm. das heisst nämlich schlicht 'perl'.
Es tut jedoch offenbar nichts bzw. nicht was es soll und im 'sichbarem Modus' auch macht (eine Datei auslesen und, wenn sich diese geändert hat, mit LWP einen URL aufrufen).
Nun, der einfachheit halber, versuch folgendes Script und starte auch das Detached-Process-Programm vom Desktop (beide Dateien auf'm Desktop; oder halt wo anders, is ja wurscht):
while (1) {
open( F, '>>./test.txt' );
print F scalar(localtime())."\n";
close F;
sleep(1);
}
close F;
dann sollte dir, beim gelungenen Start, eine Textdatei auf'm Desktop erscheinen, wo jede Sekunde eingetragen wird... So kannst du ganz einfach überprüfen, ob's funktioniert (einfach nach jedem Start, wenn du's nimmer brauchst, den Prozess killen).
mit dem Code kannst du jedes Perl-Script als Detached Process laufen lassen. @ARGV enthält dann den Dateinamen des zu startenden Perl-Scriptes, welches dann im neuen Prozess dem Perl-interpreter wieder übergeben wird, der es dann interpretiert und laufen lässt.
Also der von dir gepostete code ist ein eigenes Script, dass dann 'mein' Script aufruft und 'Detached' startet, richtig?
Ja, aber sag doch einfach, wie du es willst, dann helfe ich es dir so abzuändern... Beschreib doch mal, was du machen willst.
Also, du musst statt @ARGV wohl eine Variable hinsetzen, sodass du es in deinem Progi dynamisch festlegen kannst, welches Script auch gestartet werden soll.
Wenn ichs mit 'perl start_detaches_process.pl script_to_run.pl' starte, weiß es (start_detaches_process.pl) doch welches Script gestartet werden soll(script_to_run.pl). Oder hab ich wieder was falsch verstanden?
Ne, völlig richtig.
Viele Grüsse
Philipp