您的位置:首页 > 其它

安装rhel5.3 成功以后的配置

2010-09-14 22:24 417 查看
<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog01.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>
测试基本上和我想得一样。方法是修改webmin里面的lib一类的文件,把html相关的地方修改成xml,然后返回。也就是说,基本上还是webmin的代码,修改一下print里面的东西。我想找个本科生一个个改就OK的。以下是测试代码,有兴趣的朋友,可以联系我,我们一起把这个项目放到sourceforge上。

#!/usr/bin/perl

use XMLRPC::Transport::HTTP;
use Time::Local;

XMLRPC::Transport::HTTP::CGI
-> dispatch_to('Process')
-> handle;

package Process;

sub ListProcesses {
my ($self) = @_;

@procs = sort { $b->{'cpu'} $a->{'cpu'} } &list_processes();
@procs = grep { !$hide{$_->{'user'}} } @procs;
@procs = grep { $_->{'user'} eq $remote_user } @procs if ($user_processes_only);
$x = "<processes>/n";<br>foreach $pr (@procs) {<br>$p = $pr->{'pid'};<br> $x .= "<proc>/n";<br>$x .= "<pid>$p</pid>/n";<br>$x .= "<user>$pr->{'user'}</user>/n";<br>$x .= "<cpu>$pr->{'cpu'}</cpu>/n";<br> $x .= "</proc>/n";<br>}<br>$x .= "</processes>/n";

return $x ;
};

sub list_processes
{
local($pcmd, $line, $i, %pidmap, @plist, $dummy, @w, $_);
local $out = `ps V`;
if ($out =~ /version/s+(/d+)/./ && $1 >= 2 || $out =~ /version/s+/./) {
# New version of ps, as found in redhat 6
open(PS, "ps --cols 500 -eo user,ruser,group,rgroup,pid,ppid,pgid,pcpu,vsz,nice,etime,time,stime,tty,args 2>/dev/null |");
$dummy = <ps>;<br>for($i=0; $line=<ps>; $i++) {<br>chop($line);<br>$line =~ s/^/s+//g;<br>eval { @w = split(//s+/, $line, -1); };<br>if ($@) {<br># Hit a split loop<br>$i--; next;<br>}<br>if ($line =~ /ps -o user,ruser/) {<br># Skip process ID 0 or ps command<br>$i--; next;<br>}<br>if (@_ && &indexof($w[4], @_) # Not interested in this PID<br>$i--; next;<br>}<br>$plist[$i]->{"pid"} = $w[4];<br>$plist[$i]->{"ppid"} = $w[5];<br>$plist[$i]->{"user"} = $w[0];<br>$plist[$i]->{"cpu"} = "$w[7] %";<br>$plist[$i]->{"size"} = "$w[8] kB";<br>$plist[$i]->{"time"} = $w[11];<br>$plist[$i]->{"_stime"} = $w[12];<br>$plist[$i]->{"nice"} = $w[9];<br>$plist[$i]->{"args"} = @w$plist[$i]->{"_group"} = $w[2];<br>$plist[$i]->{"_ruser"} = $w[1];<br>$plist[$i]->{"_rgroup"} = $w[3];<br>$plist[$i]->{"_pgid"} = $w[6];<br>$plist[$i]->{"_tty"} = $w[13] =~ //?/ ? $text{'edit_none'} : "/dev/$w[12]";<br>}<br>close(PS);<br>}<br>return @plist;<br>}</ps></ps>

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=477952
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: