This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
avoid error in IO::Socket::INET when given an unknown service name
[perl5.git] / eg / myrup
1 #!/usr/bin/perl
2
3 # $RCSfile: myrup,v $$Revision: 4.1 $$Date: 92/08/07 17:20:26 $
4
5 # This was a customization of ruptime requested by someone here who wanted
6 # to be able to find the least loaded machine easily.  It uses the
7 # /etc/ghosts file that's defined for gsh and gcp to prune down the
8 # number of entries to those hosts we have administrative control over.
9
10 print "node    load (u)\n------- --------\n";
11
12 open(ghosts,'/etc/ghosts') || die "Can't open /etc/ghosts: $!";
13 line: while (<ghosts>) {
14     next line if /^#/;
15     next line if /^$/;
16     next line if /=/;
17     ($host) = split;
18     $wanted{$host} = 1;
19 }
20
21 open(ruptime,'ruptime|') || die "Can't run ruptime: $!";
22 open(sort,'|sort +1n');
23
24 while (<ruptime>) {
25     ($host,$upness,$foo,$users,$foo,$foo,$load) = split(/[\s,]+/);
26     if ($wanted{$host} && $upness eq 'up') {
27         printf sort "%s\t%s (%d)\n", $host, $load, $users;
28     }
29 }