21 my @opt = <<'=back' =~ /B<--(\S+)>/g;
31 I had to repeat this several times
33 ps auxww|grep 'CPAN.*shell'
34 while true; do echo -n `date`; grep VmData /proc/14305/status; sleep 12; done
36 Now implementing it in one program
42 use lib
"$FindBin::Bin/../lib";
48 use File
::Basename
qw(dirname);
49 use File
::Path
qw(mkpath);
53 use Hash
::Util
qw(lock_keys);
56 lock_keys
%Opt, map { /([^=]+)/ } @opt;
61 use POSIX
qw(strftime);
64 open my $fh, "-|", ps
=> "axww" or die;
66 my($pid,undef,undef,undef,$cmd) = split " ", $_, 5;
67 next unless $cmd =~ /CPAN\s.*shell/;
68 open my $fh2, "<", "/proc/$pid/status" or next;
71 next unless /^VmData:(?:\s+)(\d+) kB/;
72 printf "%s %5d %7d\n", strftime
("%FT%T",localtime), $pid, $1;
80 # cperl-indent-level: 4