foreach $pid (sort {$a<=>$b} <*>) { $uid = getpwuid((lstat "/proc/$pid")[4]); next if $pid == $$; next if $uid ne "netpoint"; open(PSINFO, "/proc/$pid/psinfo") || next; read(PSINFO, $psinfo,256); close PSINFO; my ( $pr_flag, $pr_nlwp, $pr_pid, $pr_ppid, $pr_pgid, $pr_sid, $pr_uid, $pr_euid, $pr_gid, $pr_egid, $pr_addr, $pr_size, $pr_rssize, $pr_pad1, $pr_ttydev, $pr_pctcpu, $pr_pctmem, $pr_start, $pr_time, $pr_ctime, $pr_fname, $pr_psargs, $pr_wstat, $pr_argc, $pr_argv, $pr_envp, $pr_dmodel, $pr_taskid, $pr_projid, $pr_nzomb, $pr_poolid, $pr_zoneid, $filler ) = unpack("iiiiiiiiiiIiiiiSSa8a8a8Z16Z80iiIIaa3iiiiii", $psinfo); print "\n\n---------------\n\nUser: " . $uid; print "\nPID: " . $pid; print "\nMemory: " . ($pr_pctmem / 0x8000 ) * 100; print "\nCPU: " . ($pr_pctcpu / 0x8000 ) * 100; print "\nArguments: " . $pr_envp[1]; }