summaryrefslogtreecommitdiff
path: root/cpan/dist/HTML-Template/scripts/clean_shm.pl
blob: ece118fa88b79b6a71f936431757f763f11b413b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl 

# this script deletes all shared memory segments accessible by the
# running user.  Probably only works on Linux systems.

open(IPCS, 'ipcs |') or die "Probs opening icps : $!";

my $mode = 0;
while(<IPCS>) {
  if (/(Shared)|(Semaphore)|(Message)/) {
    $mode++;
    next;
  }
  next unless /^0x[0-9a-f]+\s(\d+)\s.*$/;
  system("ipcrm shm $1") if ($mode == 1);
  system("ipcrm sem $1") if ($mode == 2);
  system("ipcrm msg $1") if ($mode == 3);
}