>так там же, в /proc все и есть
Нашел. Это
Proc::ProcessTable модуль: вот вывод какой к примеру может дать:
PID TTY STAT START COMMAND
61741 /dev/ttyp2 nochan Mon Mar 21 16:43:56 2005 perl test.pl
61738 /dev/ttyp1 ttyin Mon Mar 21 16:42:55 2005 more /tmp/perldoc1.61731
61731 /dev/ttyp1 wait Mon Mar 21 16:42:55 2005 /usr/bin/perl /usr/bin/perldoc Proc::ProcessTable
61485 /dev/ttyp2 pause Mon Mar 21 16:17:10 2005 /bin/csh
61415 poll Wed Dec 31 23:59:59 1969 kdeinit: kio_file file /tmp/ksocket-poizon/klauncherzKVVJA.slave-socket /tmp/ksocket-poizon/krusaderyLzxwQ.slave-socket
61313 /dev/ttyp1 pause Mon Mar 21 14:31:31 2005 _su
58823 poll Mon Mar 21 12:34:06 2005 kdeinit: kio_uiserver
54883 /dev/ttyp0 select Mon Mar 21 10:32:56 2005 centericq
54839 poll Mon Mar 21 10:02:57 2005 ./mozilla-bin
А использование простое как стакан :-):
my $FORMAT = "%-6s %-10s %-8s %-24s %s\n";
$t = new Proc::ProcessTable;
printf($FORMAT, "PID", "TTY", "STAT", "START", "COMMAND");
foreach $p ( @{$t->table} ){
printf($FORMAT,
$p->pid,
$p->ttydev,
$p->state,
scalar(localtime($p->start)),
$p->cmndline);
}
Всем пасиб :-)