Uptime (days): 8=============D
Memory (MB/20): 8=====D
CPU (MHz/50): 8========================================D
Kernel version: 8==================================D
Num. processes: 8==================================D
Load average: 8====D
У меня тоже вот почти впустую молотит :)
> патчи и дополнения приветствуются :)
нифига не работает ваша членомерка... :-/
$ ./up1
Uptime (days): 8D
free: not found
Memory (MB/20): 8D
cat: /proc/cpuinfo: No such file or directory
CPU (MHz/50): 8D
Kernel version: 8===============================================================================
================================================================================
================================================================================
================================================================================
================================================================================
================================================================================
=====================D
// wbr
Самая свежая версия 4lenomer'а!
(Требуется дополнительный тест со scsi!)
#!/usr/bin/perl
sub chlen{
return ' 8' . '=' x $_[0] . "D\n";
}
sub diskspace{
my @df = `df -P -k -x nfs -x smbfs -x tmpfs` or die "Could not run 'df'\n";
my $size;
shift @df;
for (@df) {
my ($fs, $blocks) = split;
$size += ($blocks/1048576);
}
return $size;
}
sub uptime(){
`uptime`=~/(\d+)\sdays/;
return $1;
}
sub mem(){
`free | grep Mem`=~/(\d+)/;
return $1;
}
sub cpu(){
`cat /proc/cpuinfo | grep MHz`=~/(\d+)/;
return $1;
}
sub kern(){
`uname -r`=~/(\d+)\.(\d+).(\d+)/;
return ($2,$3);
}
sub numproc(){
return`ps ax|wc -l`;
}
sub lavg(){
return `cat /proc/loadavg | cut -f 1 -d ' '`;
}
sub swpstat(){
`free | grep Swap:`=~/(\d+)\s+(\d+)/;
return (($1/1024),(($2/$1)*100));
}
print "Uptime (days): " . chlen(uptime());
print "Memory (MB/20): " . chlen(mem()/20000);
@swres = swpstat();
print "Swap all (MB/10): " . chlen(@swres[0]/10);
print "Swap used %: " . chlen(@swres[1]);
print "CPU (MHz/50): " . chlen(cpu()/50);
@kres = kern();
print "Kernel version: " . chlen((@kres[0]*10+@kres[1])/2);
print "Num. proc.(/2): " . chlen(numproc()/2);
print "Load avg. (*50): " . chlen(lavg()*50);
print "Diskspace (GB/5): " . chlen(diskspace()/5);
А вот мой домашний комп:
$4lenomer
Uptime (days): 8D
Memory (MB/20): 8=======D
Swap all (MB/10): 8=======================D
Swap used %: 8========================D
CPU (MHz/50): 8========D
Kernel version: 8===================================D
Num. proc.(/2): 8=======================================D
Load avg. (*50): 8=============================================================D
Diskspace (GB/5): 8===========D
PS: И не смотрите что uptime короткий, зато load avg длинный :)
PPS: Портируйте под BSD, я только спасибо скажу :) а то я сам не очень в BSD :/ (ну не сложилось у меня с BSD, хоть я и старался подружиться)
PPPS: Покритикуйте косяки в perl-коде, а то я фактически новичек в этом деле, мне как-то на РНР да на C/С++ привычнее :)
кхм... дерзайте дальше, однако
$ ./up
Uptime (days): 8D
free: not found
Memory (MB/20): 8D
free: not found
Illegal division by zero at ./up line 48.
// wbr
В чате:
- Вась, а у тебя член стоит?
- Да, а что?
- Да вот, мне все говорят, что я - импотент, потому что у меня член не
стоит...
- А я-то тебе чем могу помочь?
- Дай скачать!