Quoting Stéphane Graber (stgra...@ubuntu.com): > From: Jäkel, Guido <g.jae...@dnb.de> > > Allow for an additional --host parameter to lxc-ps hiding all processes > running > in containers. > > Signed-off-by: Guido Jäkel <g.jae...@dnb.de> > Signed-off-by: Stéphane Graber <stgra...@ubuntu.com>
Oh, I see. My email to Guido was wrong. lxc-ps uses cgroups to determine container membership of a task. Acked-by: Serge E. Hallyn <serge.hal...@ubuntu.com> Will especially be problematic once we support lxc.cgroup.dir="" or whaterver we called it. This patch doesn't particularly make that worse - other than giving us a loftier goal to live up to. (I'm not sure offhand how we'll do this) > --- > doc/lxc-ps.sgml.in | 13 +++++++++++++ > src/lxc/lxc-ps.in | 15 ++++++++++----- > 2 files changed, 23 insertions(+), 5 deletions(-) > > diff --git a/doc/lxc-ps.sgml.in b/doc/lxc-ps.sgml.in > index e266ba8..b9d8e42 100644 > --- a/doc/lxc-ps.sgml.in > +++ b/doc/lxc-ps.sgml.in > @@ -51,6 +51,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA > 02111-1307 USA > <command>lxc-ps</command> > <arg choice="opt">--name <replaceable>name</replaceable></arg> > <arg choice="opt">--lxc</arg> > + <arg choice="opt">--host</arg> > <arg choice="opt">-- ps option</arg> > </cmdsynopsis> > </refsynopsisdiv> > @@ -106,6 +107,18 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA > 02111-1307 USA > > <varlistentry> > <term> > + <option>--host</option> > + </term> > + <listitem> > + <para> > + limit the output to the processes belonging > + to the host. > + </para> > + </listitem> > + </varlistentry> > + > + <varlistentry> > + <term> > <option><optional>ps options</optional></option> > </term> > <listitem> > diff --git a/src/lxc/lxc-ps.in b/src/lxc/lxc-ps.in > index 5f7cf4d..57c4041 100644 > --- a/src/lxc/lxc-ps.in > +++ b/src/lxc/lxc-ps.in > @@ -19,7 +19,7 @@ > > usage() > { > - echo "usage: $(basename $0) [--lxc | --name NAME] [--] [PS_OPTIONS...]" > >&2 > + echo "usage: $(basename $0) [--lxc | --host | --name NAME] [--] > [PS_OPTIONS...]" >&2 > } > > help() { > @@ -28,6 +28,7 @@ help() { > echo "List current processes with container names." >&2 > echo >&2 > echo " --lxc show processes in all containers" >&2 > + echo " --host show processes not related to any container, i.e. > to the host" >&2 > echo " --name NAME show processes in the specified container" >&2 > echo " (multiple containers can be separated by commas)" > >&2 > echo " PS_OPTIONS ps command options (see \`ps --help')" >&2 > @@ -79,7 +80,9 @@ while true; do > -n|--name) > containers=$2; list_container_processes=1; shift 2;; > --lxc) > - list_container_processes=1; shift;; > + list_container_processes=1; shift;; > + --host) > + list_container_processes=-1; shift;; > --) > shift; break;; > *) > @@ -118,6 +121,7 @@ ps "$@" | awk -v > container_field_width="$container_field_width" \ > -v list_container_processes="$list_container_processes" ' > # first line is PS header > NR == 1 { > + header = $0 > # find pid field index > for (i = 1; i<=NF; i++) > if ($i == "PID") { > @@ -126,9 +130,9 @@ NR == 1 { > } > if (pididx == "") { > print("No PID field found") > "/dev/stderr" > + header = "" # to signal error condition to the END rule > exit 1 > } > - header = $0 > next > } > > @@ -152,10 +156,11 @@ FNR == 1 { > } > > END { > + if (!header) exit 1 # quit due to internal error > printf("%-" container_field_width "s %s\n", "CONTAINER", header) > for (i in ps_line) { > - container = container_of_pid[pid_of_line[i]] > - if (list_container_processes == 0 || container != "") > + container = container_of_pid[pid_of_line[i]] > + if (list_container_processes == 0 || (container != "") == > (list_container_processes > 0) ) > printf("%-" container_field_width "s %s\n", container, > ps_line[i]) > } > } > -- > 1.8.1.2 > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_feb > _______________________________________________ > Lxc-devel mailing list > Lxc-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/lxc-devel ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel