您现在的位置是:主页 > news > 个人网站怎么设计/百度推广一天烧几千

个人网站怎么设计/百度推广一天烧几千

admin2025/6/27 7:07:09news

简介个人网站怎么设计,百度推广一天烧几千,客户管理系统网站,专业模板建站公司我在perl的linux机器上循环进程.我想显示特定进程的总cpu,但我想显示进程的每个实例的总用量.例如: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 102…

个人网站怎么设计,百度推广一天烧几千,客户管理系统网站,专业模板建站公司我在perl的linux机器上循环进程.我想显示特定进程的总cpu,但我想显示进程的每个实例的总用量.例如: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 102…

我在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 0.8 40320 26712 ? S Sep23 6:21 /usr/local/apache2/bin/httpd -k start

wvneuroc 1570 0.2 0.0 2136 1044 ? S 12:52 0:00 /usr/bin/qpopper -F -S

speaktra 25546 0.2 0.7 35680 22116 ? S Sep23 6:45 /usr/local/apache2/bin/httpd -k start

speaktra 1570 0.2 0.0 2136 1044 ? S 12:52 0:00 /usr/bin/qpopper -F -S

这样的东西将由用户和这样的过程输出.

northriv

(0.0): /usr/local/apache2/bin/httpd

speacktra

(0.6): /usr/local/apache2/bin/httpd

(0.2): /usr/bin/qpopper -F -S

wvneuroc

(0.2): /usr/bin/qpopper -F -S

我知道我需要使用某种类型的哈希但不强大,这是我目前使用的代码.

!/usr/bin/perl

use 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\\+/,/g'`;

for (@process_table)

{ chomp;

$_ =~ s/ / /g;

my ($user,$pid,$cpu,$mem,$cmd)=(split /,/,$_)[0,1,2,3,10];

next if $user eq 'USER';

$users{$user}{$cmd} += $cpu;

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;

for my $user (sort keys %users) {

print "$user\n";

print "($users{$user}{$_}): $_\n" for (sort keys %{ $users{$user} });

print "\n";

}

标签:linux,perl

来源: https://codeday.me/bug/20190517/1121398.html