
USER PID %cpu %MEM VSZ RSS TTY STAT START TIME COMMANDnorthriv 10228 0.0 0.2 23692 8084 ? S Sep18 0:00 /usr/local/apache2/bin/httpd -k startnorthriv 10229 0.0 0.2 23692 8084 ? S Sep18 0:00 /usr/local/apache2/bin/httpd -k startnorthriv 10186 0.0 0.2 23692 8084 ? S Sep18 0:00 /usr/local/apache2/bin/httpd -k startnorthriv 10187 0.0 0.2 23692 8084 ? S Sep18 0:00 /usr/local/apache2/bin/httpd -k startspeaktra 25535 0.2 1.0 46788 33212 ? S Sep23 6:04 /usr/local/apache2/bin/httpd -k startspeaktra 25547 0.2 0.8 40320 26712 ? S Sep23 6:21 /usr/local/apache2/bin/httpd -k startwvneuroc 1570 0.2 0.0 2136 1044 ? S 12:52 0:00 /usr/bin/qpopper -F -Sspeaktra 25546 0.2 0.7 35680 22116 ? S Sep23 6:45 /usr/local/apache2/bin/httpd -k startspeaktra 1570 0.2 0.0 2136 1044 ? S 12:52 0:00 /usr/bin/qpopper -F -S
这样的东西将由用户和这样的过程输出.
northriv(0.0): /usr/local/apache2/bin/httpdspeacktra(0.6): /usr/local/apache2/bin/httpd(0.2): /usr/bin/qpopper -F -Swvneuroc(0.2): /usr/bin/qpopper -F -S
我知道我需要使用某种类型的哈希但不强大,这是我目前使用的代码.
!/usr/bin/perluse strict;use warnings;my @stats;my $date=`date +"\%m-\%d-\%Y-\%r"`;chomp $date;my @process_table = `ps aux --sort=\%cpu|sed -e 's/\s\+/,/g'`;for (@process_table){ chomp; $_ =~ s/ / /g; my ($user,$pID,$cpu,$mem,$cmd)=(split /,/,$_)[0,1,2,3,10]; next if $user eq 'USER'; if($cpu > 10) { push(@stats,"$user - WARNING(cpu:$cpu):\t$pID($cmd)\n"); } if($cpu > 50) { push(@stats,"$user - CRITICAL(cpu:$cpu):\t$pID($cmd)\n"); }}print $_ for @stats;解决方法 我在您的代码中添加了%users hash-of-hashes.另见: perldoc perldsc use warnings;use strict;my @stats;my $date=`date +"\%m-\%d-\%Y-\%r"`;chomp $date;my %users;my @process_table = `ps aux --sort=\%cpu|sed -e 's/\s\+/,10]; next if $user eq 'USER'; $users{$user}{$cmd} += $cpu; if($cpu > 10) { push(@stats,"$user - CRITICAL(cpu:$cpu):\t$pID($cmd)\n"); }}print $_ for @stats;for my $user (sort keys %users) { print "$user\n"; print "($users{$user}{$_}): $_\n" for (sort keys %{ $users{$user} }); print "\n";} 总结 以上是内存溢出为你收集整理的linux – Perl进程解析全部内容,希望文章能够帮你解决linux – Perl进程解析所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)