home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / perl502b.zip / eg / shmkill < prev    next >
Text File  |  1994-10-18  |  590b  |  25 lines

  1. #!/usr/bin/perl
  2.  
  3. # $RCSfile: shmkill,v $$Revision: 4.1 $$Date: 92/08/07 17:20:45 $
  4.  
  5. # A script to call from crontab periodically when people are leaving shared
  6. # memory sitting around unattached.
  7.  
  8. open(ipcs,'ipcs -m -o|') || die "Can't run ipcs: $!";
  9.  
  10. while (<ipcs>) {
  11.     $tmp = index($_,'NATTCH');
  12.     $pos = $tmp if $tmp >= 0;
  13.     if (/^m/) {
  14.     ($m,$id,$key,$mode,$owner,$group,$attach) = split;
  15.     if ($attach != substr($_,$pos,6)) {
  16.         die "Different ipcs format--can't parse!\n";
  17.     }
  18.     if ($attach == 0) {
  19.         push(@goners,'-m',$id);
  20.     }
  21.     }
  22. }
  23.  
  24. exec 'ipcrm', @goners if $#goners >= 0;
  25.