File: shutdown

package info (click to toggle)
libafs-perl 2.6.2-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 2,244 kB
  • ctags: 268
  • sloc: perl: 5,159; ansic: 135; sh: 36; makefile: 7
file content (38 lines) | stat: -rwxr-xr-x 1,224 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/local/bin/perl -w

use blib;

use strict;
use AFS::BOS;

my ($server, $cellname, $instance, $bos, $ok);
my ($nargs, $wait, @instance);

die "Usage: $0 server instances [wait [cell]]\n" if $#ARGV < 1;

$nargs    = $#ARGV;
$server   = shift;
$instance = shift if $nargs > 0;
$wait     = shift if $nargs > 1;
$cellname = shift if $nargs > 2;

#warn ">$server< >$instance< >$wait< >$cellname< \n";

if ($instance eq '') { undef $instance; }
if (defined $instance and $instance =~ / /) { @instance = split / /, $instance; }

if ($cellname) { $bos = AFS::BOS->new($server, 0, 0, $cellname); }
else           { $bos = AFS::BOS->new($server); }
print "Error Code: $AFS::CODE\n" if ($AFS::CODE);

if    (@instance and defined $wait) { $ok = $bos->shutdown(\@instance, $wait); }
elsif (@instance)                   { $ok = $bos->shutdown(\@instance); }
elsif ($instance and defined $wait) { $ok = $bos->shutdown($instance, $wait); }
elsif ($instance)                   { $ok = $bos->shutdown($instance); }
elsif (defined $wait)               { $ok = $bos->shutdown($wait); }
else                                { $ok = $bos->shutdown(); }
print "Error Code: $AFS::CODE\n" if ($AFS::CODE);

print "OK = $ok \n";

$bos->DESTROY;