From 85be16db455932e482eb021220da732e3097077c Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Wed, 16 Jan 2013 22:21:56 +0100 Subject: initial commit --- lib/VServer.pm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 lib/VServer.pm (limited to 'lib') diff --git a/lib/VServer.pm b/lib/VServer.pm new file mode 100644 index 0000000..8c70bde --- /dev/null +++ b/lib/VServer.pm @@ -0,0 +1,40 @@ +#!/usr/bin/perl -T + +package VServer; +our $VERSION = '1.0'; + +use strict; +use warnings; + +sub get_context_id($) { + my $vserver = shift; + if ($vserver =~ /^([-a-z0-9._]*)$/) { + $vserver = $1; + }; + + my $dir = "/etc/vservers/$vserver"; + return unless -d $dir; + + open(my $context, '<', "$dir/context") || return undef; + + my $cid = undef; + while (<$context>) { + if ($_ =~ m/([0-9]*)/) { + $cid = $1; + last; + } + } + + close $context; + return $cid; +} + +sub get_proc_dir($) { + my $context = shift; + my $dir = "/proc/virtual/$context/"; + + return $dir if (-d $dir); + return undef; +} + +1; -- cgit v1.2.3-1-g7c22