[lxc-devel] PATCH: lxc-ps works with systemd

Joerg Gollnick code4lxc+list at wurzelbenutzer.de
Fri Jul 15 13:18:08 UTC 2011


Dear all,
while working with systemd I found that lxc-ps -efa does not recognize the 
container name.
Best regards Joerg

diff --git a/src/lxc/lxc-ps.in b/src/lxc/lxc-ps.in
index 249b104..4ef2296 100755
--- a/src/lxc/lxc-ps.in
+++ b/src/lxc/lxc-ps.in
@@ -37,7 +37,7 @@ our %LXC_NAMES;       # Specified container names (if any)
 
 sub get_container_names {
        my $ref_names = shift;
-       my $lxcpath='@LXCPATH@';
+       my $lxcpath   = '@LXCPATH@';
 
        open(active, "netstat -xa | grep $lxcpath |") or return;
        while(<active>) {
@@ -112,13 +112,18 @@ sub get_container {
     my $pid = shift;
     my $filename = "/proc/$pid/cgroup";
     open(LXC, "$filename");
-    my $container = <LXC>;
+    # read all lines at once 
+    my @cgroup = <LXC>;
     close LXC;
-    chomp($container);
-    if ($container =~ m/[:,]ns[:,]/o) {
-       $container =~ s/.*:\///o;
-    } else {
-       $container ='';
+    my $container = '';
+    foreach ( @cgroup ) {
+        chomp;
+        # find the container name 
+        if (m/[:,]ns[:,]/o) {
+           # container name after :/
+           s/.*:\///o;
+            $container = $_;
+        }
     }
     return $container;
 }








More information about the lxc-devel mailing list