Thread top, ps parsen? oder anders??: läuft ein perlprog schon? in LINUX (23 answers)
Opened by mordur at 2004-05-24 14:44

ronald
 2004-05-27 10:17
#82675 #82675
User since
2003-08-15
76 Artikel
BenutzerIn
[default_avatar]
nochmal zu deinen Fragen bzgl. einer Datei, mit der man erkennen kann, dass das Programm schon läuft.

Es gibt die Möglichkeit, eine Datei anzulegen und dann eine Sperre aufzubauen.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use Fcntl ':flock';
use diagnostics;
my @sw_lockarray;
use vars qw($verbose);

sub lock_file {
my $filename=shift;
my $lock;
if (! open($lock, "> $filename")) {
print "ERROR: Can't open lockfile $filename: $!\n";
return(0);
}
if (flock($lock, LOCK_EX | LOCK_NB)) {
print "Lock erhalten\n" if $verbose;
push(@sw_lockarray, $lock);
print($lock "$$\n");
chmod 0666, $filename;
return(1);
} else {
warn "Lock $filename nicht erhalten\n";
return(0);
}
}


Wenn das Programm abstürzt oder beendet wird, dann wird die Dateisperre vom Betriebssystem automatisch wieder freigegeben.

AFAIK funktioniert das unter Windows nicht.

View full thread top, ps parsen? oder anders??: läuft ein perlprog schon? in LINUX