我在perl的linux机器上循环进程.我想显示特定进程的总cpu,但我想显示进程的每个实例的总用量.例如:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
northriv 10228 0.0 0.2 23692 8084 ? S Sep18 0:00 /usr/local/apache2/bin/httpd -k start
northriv 10229 0.0 0.2 23692 8084 ? S Sep18 0:00 /usr/local/apache2/bin/httpd -k start
northriv 10186 0.0 0.2 23692 8084 ? S Sep18 0:00 /usr/local/apache2/bin/httpd -k start
northriv 10187 0.0 0.2 23692 8084 ? S Sep18 0:00 /usr/local/apache2/bin/httpd -k start
speaktra 25535 0.2 1.0 46788 33212 ? S Sep23 6:04 /usr/local/apache2/bin/httpd -k start
speaktra 25547 0.2 …Run Code Online (Sandbox Code Playgroud) 我的错误如下
当你在/usr/lib/perl5/site_perl/5.8.6/Parallel/ForkManager.pm第463行的子进程中时,无法启动另一个进程.
我的代码中有问题的部分如下,在我的代码下面是forkmanager失败的子例程,我无法弄清楚原因.没有forkmanager,我可以运行得很好.
my $pm = new Parallel::ForkManager($MAX_PROCESSES);
for (0..$SCOUNT)
{
my $pid = $pm->start and next;
my %shash = ();
%shash =
( ID => "$SREF->[$_]->[0]",
typeID => "$SREF->[$_]->[1]",
extIP => "$SREF->[$_]->[2]",
intIP => "$SREF->[$_]->[3]",
NAME => "$SREF->[$_]->[4]",
buTYPE => "NULL"
);
if ($shash{typeID} =~ /^(4|16|17|25|27|28|42|49|50|51|54|58|60|63|19)$/){$shash{buTYPE} = 'LINUX DEDICATED';}
if ($shash{typeID} =~ /^(11|14|22|32|34|36|37|46)$/) {$shash{buTYPE} = 'LINUX FULL';}
if ($shash{typeID} =~ /^(44)$/) {$shash{buTYPE} = 'EMAIL MARKETER';}
if ($shash{typeID} =~ /^(43)$/) {$shash{buTYPE} = 'TYip1';}
if ($shash{typeID} =~ /^(45)$/) {$shash{buTYPE} = 'DDDOMAINS';} …Run Code Online (Sandbox Code Playgroud)