Skip to contentSkip to conversation

lxc-ps: Nit - Avoid blank CONTAINER column

PATCH In review Sukadev Bhattiprolu 4 participants 8 messages Feb 11, 2010 – Feb 12, 2010 5 messages not in the archive

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 lxc-ps: Nit - Avoid blank CONTAINER column

From: Sukadev Bhattiprolu <[email protected]>
Date: Wed, 10 Feb 2010 20:09:17 -0800
Subject: [PATCH 1/1] lxc-ps: Nit - Avoid blank CONTAINER column

The contianer name is not printed in the lxc-ps output unless the --lxc option is specified. But the CONTAINER column is printed (and left blank) even if the --lxc option is not specified.

	$ /usr/local/bin/lxc-ps -n foo
	CONTAINER    PID TTY          TIME CMD
		   19525 pts/2    00:00:01 bash
		   20311 pts/2    00:00:00 lxc-ps
		   20312 pts/2    00:00:00 ps

Like normal ps, it would be less confusing (IMHO) if the CONTAINER column is skipped unless the --lxc option is specified.

	$ ./lxc-ps -n foo
	  PID TTY          TIME CMD
	19525 pts/2    00:00:01 bash
	20339 pts/2    00:00:00 lxc-ps
	20340 pts/2    00:00:00 ps
	$ ./lxc-ps --lxc -n foo
	CONTAINER    PID TTY          TIME CMD
	foo        19646 pts/1    00:00:00 lxc-init
	foo        19647 pts/1    00:00:00 bash
---
 src/lxc/lxc-ps.in |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
src/lxc/lxc-ps.in +10 -2
index 249b104..e1aa655 100755
@@ -124,7 +124,11 @@ sub get_container {
 }
 
 sub display_headers {
-    printf "%-10s %s", "CONTAINER", $PS_HEADERS;
+    if ($LXC_DISPLAY) {
+        printf "%-10s %s", "CONTAINER", $PS_HEADERS;
+    } else {
+        printf "%s", $PS_HEADERS;
+    }
 }
 
 sub display_usage {
@@ -195,7 +199,11 @@ for (@PS_LINES) {
     my $container = get_container $a[$PS_PID_INDEX];
     if ($LXC_DISPLAY == 2 and not $LXC_NAMES{$container}) {next;}
     if ($LXC_DISPLAY == 1 and $container eq '') {next;}
-    printf "%-10s %s", $container, $_;
+    if ($LXC_DISPLAY) {
+        printf "%-10s %s", $container, $_;
+    } else {
+        printf "%s", $_;
+    }
 }
 
 exit 0;
Signature · 1 line
1.6.6.1

A message that is not in the archive (sent off-list or not yet received): 20100211042531.GA8835-r/[email protected]

#2 lore raw
Quoted 8 lines · Sukadev Bhattiprolu

From: Sukadev Bhattiprolu <[email protected]>
Date: Wed, 10 Feb 2010 20:09:17 -0800
Subject: [PATCH 1/1] lxc-ps: Nit - Avoid blank CONTAINER column

The contianer name is not printed in the lxc-ps output unless the --lxc option is specified. But the CONTAINER column is printed (and left blank) even if the --lxc option is not specified.

Quoted 5 lines
	$ /usr/local/bin/lxc-ps -n foo
	CONTAINER    PID TTY          TIME CMD
		   19525 pts/2    00:00:01 bash
		   20311 pts/2    00:00:00 lxc-ps
		   20312 pts/2    00:00:00 ps

For me the error in the script is
to report default pid of ps command,
rather than to report the pids of specified 'foo'
container in this case.

So a patch should address this point,
rather to remove the container column.

---
Michel

Quoted 40 lines

Like normal ps, it would be less confusing (IMHO) if the CONTAINER column is skipped unless the --lxc option is specified.

	$ ./lxc-ps -n foo
	  PID TTY          TIME CMD
	19525 pts/2    00:00:01 bash
	20339 pts/2    00:00:00 lxc-ps
	20340 pts/2    00:00:00 ps
	$ ./lxc-ps --lxc -n foo
	CONTAINER    PID TTY          TIME CMD
	foo        19646 pts/1    00:00:00 lxc-init
	foo        19647 pts/1    00:00:00 bash
---
 src/lxc/lxc-ps.in |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
src/lxc/lxc-ps.in +5 -1
index 249b104..e1aa655 100755
@@ -124,7 +124,11 @@ sub get_container {
 }
 
 sub display_headers {
-    printf "%-10s %s", "CONTAINER", $PS_HEADERS;
+    if ($LXC_DISPLAY) {
+        printf "%-10s %s", "CONTAINER", $PS_HEADERS;
+    } else {
+        printf "%s", $PS_HEADERS;
+    }
 }
 
 sub display_usage {
@@ -195,7 +199,11 @@ for (@PS_LINES) {
     my $container = get_container $a[$PS_PID_INDEX];
     if ($LXC_DISPLAY == 2 and not $LXC_NAMES{$container}) {next;}

src/lxc/lxc-ps.in for (@PS_LINES) { · line 209

Quoted 10 lines
src/lxc/lxc-ps.in +5 -1
     if ($LXC_DISPLAY == 1 and $container eq '') {next;}
-    printf "%-10s %s", $container, $_;
+    if ($LXC_DISPLAY) {
+        printf "%-10s %s", $container, $_;
+    } else {
+        printf "%s", $_;
+    }
 }
 
 exit 0;

_______________________________________________
Containers mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

#3 lore raw
Quoted 15 lines · Michel Normand
Quoted 8 lines · Sukadev Bhattiprolu

From: Sukadev Bhattiprolu <[email protected]>
Date: Wed, 10 Feb 2010 20:09:17 -0800
Subject: [PATCH 1/1] lxc-ps: Nit - Avoid blank CONTAINER column

The contianer name is not printed in the lxc-ps output unless the --lxc option is specified. But the CONTAINER column is printed (and left blank) even if the --lxc option is not specified.

Quoted 5 lines
	$ /usr/local/bin/lxc-ps -n foo
	CONTAINER    PID TTY          TIME CMD
		   19525 pts/2    00:00:01 bash
		   20311 pts/2    00:00:00 lxc-ps
		   20312 pts/2    00:00:00 ps
Quoted 7 lines

For me the error in the script is
to report default pid of ps command,
rather than to report the pids of specified 'foo'
container in this case.

So a patch should address this point,
rather to remove the container column.

In fact there is no error in the script :)
The -n option for lxc-ps is a ps option !
and not the --name option that I assume you should have specified as detailed in the online help of lxc-ps.

---
Michel

Quoted 53 lines

---
Michel

Quoted 49 lines

Like normal ps, it would be less confusing (IMHO) if the CONTAINER column is skipped unless the --lxc option is specified.

	$ ./lxc-ps -n foo
	  PID TTY          TIME CMD
	19525 pts/2    00:00:01 bash
	20339 pts/2    00:00:00 lxc-ps
	20340 pts/2    00:00:00 ps
	$ ./lxc-ps --lxc -n foo
	CONTAINER    PID TTY          TIME CMD
	foo        19646 pts/1    00:00:00 lxc-init
	foo        19647 pts/1    00:00:00 bash
---
 src/lxc/lxc-ps.in |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
src/lxc/lxc-ps.in +10 -2
index 249b104..e1aa655 100755
@@ -124,7 +124,11 @@ sub get_container {
 }
 
 sub display_headers {
-    printf "%-10s %s", "CONTAINER", $PS_HEADERS;
+    if ($LXC_DISPLAY) {
+        printf "%-10s %s", "CONTAINER", $PS_HEADERS;
+    } else {
+        printf "%s", $PS_HEADERS;
+    }
 }
 
 sub display_usage {
@@ -195,7 +199,11 @@ for (@PS_LINES) {
     my $container = get_container $a[$PS_PID_INDEX];
     if ($LXC_DISPLAY == 2 and not $LXC_NAMES{$container}) {next;}
     if ($LXC_DISPLAY == 1 and $container eq '') {next;}
-    printf "%-10s %s", $container, $_;
+    if ($LXC_DISPLAY) {
+        printf "%-10s %s", $container, $_;
+    } else {
+        printf "%s", $_;
+    }
 }
 
Quoted 12 lines

src/lxc/lxc-ps.in for (@PS_LINES) { · line 209

Quoted 1 line
src/lxc/lxc-ps.in +0 -0
 exit 0;

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
Lxc-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lxc-devel

_______________________________________________
Containers mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

A message that is not in the archive (sent off-list or not yet received): 1265883662.2591.68.camel@pagloppaglop

#5 lore raw
Quoted 21 lines · Michel Normand
Quoted 20 lines · Michel Normand
Quoted 8 lines · Sukadev Bhattiprolu

From: Sukadev Bhattiprolu <[email protected]>
Date: Wed, 10 Feb 2010 20:09:17 -0800
Subject: [PATCH 1/1] lxc-ps: Nit - Avoid blank CONTAINER column

The contianer name is not printed in the lxc-ps output unless the --lxc option is specified. But the CONTAINER column is printed (and left blank) even if the --lxc option is not specified.

Quoted 5 lines
	$ /usr/local/bin/lxc-ps -n foo
	CONTAINER    PID TTY          TIME CMD
		   19525 pts/2    00:00:01 bash
		   20311 pts/2    00:00:00 lxc-ps
		   20312 pts/2    00:00:00 ps

For me the error in the script is
to report default pid of ps command,
rather than to report the pids of specified 'foo'
container in this case.

Quoted 5 lines
Quoted 2 lines

So a patch should address this point,
rather to remove the container column.

In fact there is no error in the script :)
The -n option for lxc-ps is a ps option !

heh, good catch - given -n is pretty ubiquitous in lxc commands it should probably be used here :)

And a '--' should be allowed to separate lxc-ps options from /bin/ps ones.

Quoted 77 lines

and not the --name option that I assume you should have specified as detailed in the online help of lxc-ps.

---
Michel

Quoted 53 lines

---
Michel

Quoted 49 lines

Like normal ps, it would be less confusing (IMHO) if the CONTAINER column is skipped unless the --lxc option is specified.

	$ ./lxc-ps -n foo
	  PID TTY          TIME CMD
	19525 pts/2    00:00:01 bash
	20339 pts/2    00:00:00 lxc-ps
	20340 pts/2    00:00:00 ps
	$ ./lxc-ps --lxc -n foo
	CONTAINER    PID TTY          TIME CMD
	foo        19646 pts/1    00:00:00 lxc-init
	foo        19647 pts/1    00:00:00 bash
---
 src/lxc/lxc-ps.in |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
src/lxc/lxc-ps.in +10 -2
index 249b104..e1aa655 100755
@@ -124,7 +124,11 @@ sub get_container {
 }
 
 sub display_headers {
-    printf "%-10s %s", "CONTAINER", $PS_HEADERS;
+    if ($LXC_DISPLAY) {
+        printf "%-10s %s", "CONTAINER", $PS_HEADERS;
+    } else {
+        printf "%s", $PS_HEADERS;
+    }
 }
 
 sub display_usage {
@@ -195,7 +199,11 @@ for (@PS_LINES) {
     my $container = get_container $a[$PS_PID_INDEX];
     if ($LXC_DISPLAY == 2 and not $LXC_NAMES{$container}) {next;}
     if ($LXC_DISPLAY == 1 and $container eq '') {next;}
-    printf "%-10s %s", $container, $_;
+    if ($LXC_DISPLAY) {
+        printf "%-10s %s", $container, $_;
+    } else {
+        printf "%s", $_;
+    }
 }
 
Quoted 12 lines

src/lxc/lxc-ps.in for (@PS_LINES) { · line 209

Quoted 1 line
src/lxc/lxc-ps.in +0 -0
 exit 0;

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
Lxc-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/lxc-devel

_______________________________________________
Containers mailing list Containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
https://lists.linux-foundation.org/mailman/listinfo/containers

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): 20100211155446.GC6884-r/[email protected]

#8 lore raw

Serge E. Hallyn [serue-r/[email protected]] wrote:

| Quoting Michel Normand (normand-NmTC/[email protected]):
| > Le jeudi 11 février 2010 à 11:08 +0100, Michel Normand a écrit :
| > > Le mercredi 10 février 2010 à 20:25 -0800, Sukadev Bhattiprolu a écrit :
| > > > From: Sukadev Bhattiprolu <[email protected]>
| > > > Date: Wed, 10 Feb 2010 20:09:17 -0800
| > > > Subject: [PATCH 1/1] lxc-ps: Nit - Avoid blank CONTAINER column
| > > > 
| > > > The contianer name is not printed in the lxc-ps output unless the --lxc
| > > > option is specified.  But the CONTAINER column is printed (and left
| > > > blank) even if the --lxc option is not specified.
| > > > 
| > > > 	$ /usr/local/bin/lxc-ps -n foo
| > > > 	CONTAINER    PID TTY          TIME CMD
| > > > 		   19525 pts/2    00:00:01 bash
| > > > 		   20311 pts/2    00:00:00 lxc-ps
| > > > 		   20312 pts/2    00:00:00 ps
| > > 
| > > For me the error in the script is 
| > > to report default pid of ps command,
| > > rather than to report the pids of specified 'foo' 
| > > container in this case.
| > > 
| > > So a patch should address this point,
| > > rather to remove the container column.
| > 
| > In fact there is no error in the script :)
| > The -n option for lxc-ps is a ps option ! 

Ah, good point. Like Serge pointed, I got the -n mixed up with other lxc- commands.

Even so, I still think the blank CONTAINER column is misleading. Does it mean that the listed processes are not part of any container ? Like /bin/ps which prints, say the PGID column, only when selected, wouldn't it make sense to print the CONTAINER column only when necessary ?

Thanks,

Sukadev

A message that is not in the archive (sent off-list or not yet received): 20100211181902.GA3742-r/[email protected]

#10 lore raw
Quoted 29 lines · Sukadev Bhattiprolu

Serge E. Hallyn [[email protected]] wrote:

| Quoting Michel Normand ([email protected]):
| > Le jeudi 11 février 2010 à 11:08 +0100, Michel Normand a écrit :
| > > Le mercredi 10 février 2010 à 20:25 -0800, Sukadev Bhattiprolu a écrit :
| > > > From: Sukadev Bhattiprolu <[email protected]>
| > > > Date: Wed, 10 Feb 2010 20:09:17 -0800
| > > > Subject: [PATCH 1/1] lxc-ps: Nit - Avoid blank CONTAINER column
| > > > 
| > > > The contianer name is not printed in the lxc-ps output unless the --lxc
| > > > option is specified.  But the CONTAINER column is printed (and left
| > > > blank) even if the --lxc option is not specified.
| > > > 
| > > > 	$ /usr/local/bin/lxc-ps -n foo
| > > > 	CONTAINER    PID TTY          TIME CMD
| > > > 		   19525 pts/2    00:00:01 bash
| > > > 		   20311 pts/2    00:00:00 lxc-ps
| > > > 		   20312 pts/2    00:00:00 ps
| > > 
| > > For me the error in the script is 
| > > to report default pid of ps command,
| > > rather than to report the pids of specified 'foo' 
| > > container in this case.
| > > 
| > > So a patch should address this point,
| > > rather to remove the container column.
| > 
| > In fact there is no error in the script :)
| > The -n option for lxc-ps is a ps option ! 
Quoted 8 lines

Ah, good point. Like Serge pointed, I got the -n mixed up with other lxc- commands.

Even so, I still think the blank CONTAINER column is misleading. Does it mean that the listed processes are not part of any container ? Like /bin/ps which prints, say the PGID column, only wuiuihen selected, wouldn't it make sense to print the CONTAINER column only when necessary ?

The purpose of the CONTAINER column printed in any case, is to be able to have the relations of processes in containers versus their parents outside of containers.
when you do a request like lxc-ps axf

---
Michel

Quoted 3 lines

Thanks,

Sukadev

_______________________________________________
Containers mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

#11 lore raw
In reply to a message not in the archive
Quoted 8 lines
Quoted 2 lines

In fact there is no error in the script :)
The -n option for lxc-ps is a ps option !

heh, good catch - given -n is pretty ubiquitous in lxc commands it should probably be used here :)

And a '--' should be allowed to separate lxc-ps options from /bin/ps ones.

lxc-ps is just an enhanced ps and, ultimately, lxc-ps should disappear and be replaced by a new ps option, like the -z on solaris. this is similar to the -Z for listing the security context of a file the with ls

I agree with suka that -n shouldn't be used as a short option for --name. because the result is confusing.

C.

#12 lore raw
In reply to a message not in the archive
Quoted 23 lines · Sukadev Bhattiprolu

From: Sukadev Bhattiprolu<[email protected]>
Date: Wed, 10 Feb 2010 20:09:17 -0800
Subject: [PATCH 1/1] lxc-ps: Nit - Avoid blank CONTAINER column

The contianer name is not printed in the lxc-ps output unless the --lxc option is specified. But the CONTAINER column is printed (and left blank) even if the --lxc option is not specified.

	$ /usr/local/bin/lxc-ps -n foo
	CONTAINER    PID TTY          TIME CMD
		   19525 pts/2    00:00:01 bash
		   20311 pts/2    00:00:00 lxc-ps
		   20312 pts/2    00:00:00 ps

Like normal ps, it would be less confusing (IMHO) if the CONTAINER column is skipped unless the --lxc option is specified.

	$ ./lxc-ps -n foo
	  PID TTY          TIME CMD
	19525 pts/2    00:00:01 bash
	20339 pts/2    00:00:00 lxc-ps
	20340 pts/2    00:00:00 ps
Quoted 4 lines
	$ ./lxc-ps --lxc -n foo
	CONTAINER    PID TTY          TIME CMD
	foo        19646 pts/1    00:00:00 lxc-init
	foo        19647 pts/1    00:00:00 bash

it would be real nice to have but without the --lxc.

can we kill the short option '-n', which conflicts with the ps below, and make sure that only '--name' triggers the extra CONTAINER column ?

C.