On 10/28/2013 10:24 AM, Igor Podlesny wrote:
New command line option '-p' means show corresponding internal PID(s) as well:

        # vzpid -p 2129
        Pid     CT/Pid  CTID    Name
        2129    333     1020    mysqld
---
  bin/vzpid.in   | 33 +++++++++++++++++++++++++++------
  man/vzpid.8.in |  6 +++++-
  2 files changed, 32 insertions(+), 7 deletions(-)

diff --git a/bin/vzpid.in b/bin/vzpid.in
index 36e672b..8a65f2a 100755
--- a/bin/vzpid.in
+++ b/bin/vzpid.in
@@ -17,31 +17,52 @@
  #
  veidmark='envID:'
  namemark='Name:'
+vpidmark='VPid:'
+showCTPID=0
+opShowCTPID='END {printf("%d\t%d\t%s\t%s\n", pid, vpid, veid, name)}'
+opShowDef='END {printf("%d\t%s\t%s\n", pid, veid, name)}'
usage()
  {
-       echo 'Usage: vzpid <pid> ...'
-       echo '       vzpid -'
+       echo 'Usage: vzpid [-p] <pid> ...'
+       echo '       vzpid [-p] -'
  }
header()
  {
-       printf '%s\t%s\t%s\n' 'Pid' 'CTID' 'Name'
+       if [ "$showCTPID" -ne 0 ]; then
+               printf '%s\t%s\t%s\t%s\n' 'Pid' 'CT/Pid' 'CTID' 'Name'
+       else
+               printf '%s\t%s\t%s\n' 'Pid' 'CTID' 'Name'
+       fi
  }
getveid()
  {
+       local opShow
        local pid="$1"
[ -f "/proc/$pid/status" ] || return
+
+       if [ "$showCTPID" -ne 0 ]; then
+               opShow="$opShowCTPID"
+       else
+               opShow="$opShowDef"
+       fi
+
        awk -v "pid=$pid" '
-BEGIN {veid=0; name=""}
+BEGIN {veid=0; name=""; vpid=0}
  ($1 == "'"$namemark"'") {name = $2}
  ($1 == "'"$veidmark"'") {veid = $2}
-END {printf("%d\t%s\t%s\n", pid, veid, name)}
-       ' <"/proc/$pid/status"
+($1 == "'"$vpidmark"'") {vpid = $2}
+'"$opShow" < "/proc/$pid/status"
  }
+if [ "$1" = '-p' ]; then
+       showCTPID=1
+       shift
+fi
+
  if [ $# -eq 0 ]; then
        usage >&2
        exit 1
diff --git a/man/vzpid.8.in b/man/vzpid.8.in
index 18018ca..35ab71d 100644
--- a/man/vzpid.8.in
+++ b/man/vzpid.8.in
@@ -3,8 +3,9 @@
  vzpid \- display the CT ID given the process ID
  .SH SYNOPSIS
  .SY vzpid
-\fIpid\fR [...]
+[-p] \fIpid\fR [...]

option name should be bold, and since we're using .SY here, it's as easy as

.OP -p


  .SY vzpid
+[-p]
ditto
  .B -
  .YS
  .SH DESCRIPTION
@@ -15,6 +16,9 @@ This script displays the CT ID the process with the given 
\fIpid\fR belongs to.
  The \fIpid\fR of the process to display the CT ID of. Can be specified
  multiple times.
  .TP
+.B -p
+Show corresponding internal PID(s).

I'm not sure the word "internal" is good here. Maybe "in-container" works better.
s/corresponding/the corresponding/

+.TP
  .B -
  Read PID(s) from the standard input.
  .SH EXIT STATUS

_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to