![]() ![]() |
hotsanic |
Subversion Repositories: |
Compare with Previous - Blame - Download
#!/usr/bin/env perl(undef,$btime)=split(/ /,`cat /proc/stat |grep btime`);opendir DIR,"modules";@mods=sort grep(/^[a-z]\w*$/,readdir DIR);closedir DIR;print "-----module----- -PID- ------command----- pri -----starttime----- -virt- -real-\n";foreach $name (@mods) {($pid,$cmd,$prio,$start,$vsize,$rsize)=();if (-e "modules/$name/running.pid") {open FILE,"modules/$name/running.pid";$pid=<FILE>;close FILE;push @PIDs,$pid;open FILE,"/proc/$pid/stat";$line=<FILE>;close FILE;$line=~ s/.*(\(.*\))//, $cmd=$1;@status=split / /,$line;$prio=$status[16];$start=$status[20]/100+$btime;($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($start);$year+=1900;$start=sprintf "%4d-%02d-%02d %02d:%02d:%02d",$year,$mon,$mday,$hour,$min,$sec;$vsize=int($status[21]/1024)."k";$rsize=($status[22]*4)."k";}printf"%-15s%7s%19s%4s%20s%7s%7s\n",$name,$pid,$cmd,$prio,$start,$vsize,$rsize;}print "\nAll PIDs:\n",join " ",@PIDs,"\n\n";