#!/usr/bin/perl use MDK::Common; my @pids = grep { $_ ne $$ && /^(\d+)$/ } all('/proc'); my @l = map { grep { $_ && !m!^(/proc/|/dev/|pipe:|socket:)!; } map { readlink($_) } "/proc/$_/exe", glob_("/proc/$_/fd/*"); } @pids; push @l, grep { $_ } map { (split)[5] } map { cat_("/proc/$_/maps") } @pids; if ($ARGV[0] eq '--totem') { @l = grep { m!/(image(_boot)?|cdrom)/! } @l; $ARGV[0] = '--server'; } foreach (uniq @l) { if ($ARGV[0] eq '--server') { s!/image(_always|_boot|_totem)?/!/tmp/live_tree/!; s!/cdrom/live_tree!/tmp/live_tree!; } print "$_\n"; }