Commit | Line | Data |
378cc40b |
1 | #!/usr/bin/perl |
2 | |
79072805 |
3 | # $RCSfile: shmkill,v $$Revision: 4.1 $$Date: 92/08/07 17:20:45 $ |
378cc40b |
4 | |
5 | # A script to call from crontab periodically when people are leaving shared |
6 | # memory sitting around unattached. |
7 | |
a687059c |
8 | open(ipcs,'ipcs -m -o|') || die "Can't run ipcs: $!"; |
378cc40b |
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)) { |
a687059c |
16 | die "Different ipcs format--can't parse!\n"; |
378cc40b |
17 | } |
18 | if ($attach == 0) { |
19 | push(@goners,'-m',$id); |
20 | } |
21 | } |
22 | } |
23 | |
24 | exec 'ipcrm', @goners if $#goners >= 0; |