home *** CD-ROM | disk | FTP | other *** search
- #!/usr/local/bin/perl
-
-
- foreach $lock ( </usr/spool/uucp/LCK..*> ) {
- die "no locks\n" if ($lock =~ /\*/);
-
- next if $lock =~ /cua\d+$/;
-
- if (!open(od,"od -d $lock |") ) {
- printf stderr "cannot open od PIPE for %s\n", $lock;
- next;
- }
-
- $_ = <od>;
- next unless $_;
- chop;
- split;
- $lock =~ s|.*\.\.||;
- $pid = $_[2];
-
- if ( $seen{$pid} ) {
- printf "lock on %s held by %s (already checked pid %d)\n",
- $lock, $seen{$pid}, $pid;
- next;
- } else {
- $seen{$pid} = $lock;
- }
-
- printf "lock on %s held by pid %d... checking process status\n",
- $lock, $pid;
- system "ps u$pid";
- close(od);
- }
-