From bd9a66b20c33dda261e794b4aa19c653cb7a98c8 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Fri, 4 Jan 2013 09:39:04 +0100 Subject: [PATCH] lxc-ps: fix order of output and fix --lxc opt MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit We must output the lines from 'ps' in same order for tree views. Fix also --lxc option to only show processes from containers. Signed-off-by: Natanael Copa Acked-by: Stéphane Graber --- src/lxc/lxc-ps.in | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/lxc/lxc-ps.in b/src/lxc/lxc-ps.in index 25e843b09..5f7cf4db3 100644 --- a/src/lxc/lxc-ps.in +++ b/src/lxc/lxc-ps.in @@ -114,7 +114,8 @@ for container in ${containers}; do done # first file is stdin, the rest are the container tasks -ps "$@" | awk -v container_field_width="$container_field_width" ' +ps "$@" | awk -v container_field_width="$container_field_width" \ + -v list_container_processes="$list_container_processes" ' # first line is PS header NR == 1 { # find pid field index @@ -133,7 +134,8 @@ NR == 1 { # store lines from ps with pid as index NR == FNR { - ps[$pididx] = $0 + ps_line[NR] = $0 + pid_of_line[NR] = $pididx next } @@ -151,8 +153,11 @@ FNR == 1 { END { printf("%-" container_field_width "s %s\n", "CONTAINER", header) - for (pid in container_of_pid) - printf("%-" container_field_width "s %s\n", container_of_pid[pid], ps[pid]) + for (i in ps_line) { + container = container_of_pid[pid_of_line[i]] + if (list_container_processes == 0 || container != "") + printf("%-" container_field_width "s %s\n", container, ps_line[i]) + } } ' - $tasks_files -- 2.47.2