Ich verzweige in einem Perl-Skript und Beenden des übergeordneten Prozesses nach fork()
. In untergeordnetem Prozess, dann temporäre Dateien mit dieser MethodeAutomatisches Löschen von temporären Dateien im untergeordneten Prozess in Perl
my ($S_TEMP_FILE, $stmpfile) = tempfile(UNLINK => 1, DIR => $TMPDIR);
Jetzt ist die Frage in einer Funktion Ich verursache, dass diese temporäre Datei wird nicht automatisch gelöscht wird, wenn ich von der Funktion bin verlassen. Ich habe einige temporäre Dateien vor der Verzweigung auch erstellt, aber sie werden automatisch beim Beenden von Funktionen gelöscht. Ich habe alle diesbezüglichen Links durchgelesen, aber ich bin nicht in der Lage, den Grund für dieses Verhalten herauszufinden.
Fügen Sie einen [mcve] hinzu, der Forking und Erstellung sowohl im übergeordneten als auch im untergeordneten Prozess enthält. – simbabque