Hejsa,
Mine programmer bruger gerne flock til at sikre sig imod at blive startet
mere end en gang.
Jeg plejer at starte programmet cirka sådan her:
my $fh = new FileHandle ">>$f" or die "FileHandle::new: $!";
die "STOP\n" unless flock($fh, LOCK_EX|LOCK_NB);
Det er jo lidt tosset at lave en append (>>) men en det er den
eneste måde jeg kan få den til at oprette filen hvis den ikke findes og
samtidig ikke sletter og genoprette hvis den allerede var det (hvilket
jo vil ødelægge en e.v.t. tidligere instans' lås)
Jeg har prøvet med >+ og lign. alverdens varianter, men har ikke rigtig
fundet noget der virker.
Forslag?
Nu vil jeg så også gerne exec'e et eksternt program hvor jeg bruger min
åbne låsefil som STDIN. Her må jeg skulle have gang i en dup. Men jeg har
ikke lige kunnet gennemskue en brugbar syntax.
Forslag?
Nå ja, det hele foregår på en nogenlunde moderne Linux kasse.
/Morten