Author: jhb
Date: Tue Mar 13 18:30:26 2018
New Revision: 330872
URL: https://svnweb.freebsd.org/changeset/base/330872

Log:
  Add a "jail" keyword to list the name of a jail rather than its ID.
  
  Inspired by:  mwlucas
  Reviewed by:  jamie
  MFC after:    1 week
  Differential Revision:        https://reviews.freebsd.org/D14683

Modified:
  head/bin/ps/extern.h
  head/bin/ps/keyword.c
  head/bin/ps/print.c
  head/bin/ps/ps.1

Modified: head/bin/ps/extern.h
==============================================================================
--- head/bin/ps/extern.h        Tue Mar 13 18:27:23 2018        (r330871)
+++ head/bin/ps/extern.h        Tue Mar 13 18:30:26 2018        (r330872)
@@ -55,6 +55,7 @@ char   *emulname(KINFO *, VARENT *);
 VARENT *find_varentry(VAR *);
 const   char *fmt_argv(char **, char *, char *, size_t);
 double  getpcpu(const KINFO *);
+char    *jailname(KINFO *, VARENT *);
 char    *kvar(KINFO *, VARENT *);
 char    *label(KINFO *, VARENT *);
 char    *loginclass(KINFO *, VARENT *);

Modified: head/bin/ps/keyword.c
==============================================================================
--- head/bin/ps/keyword.c       Tue Mar 13 18:27:23 2018        (r330871)
+++ head/bin/ps/keyword.c       Tue Mar 13 18:30:26 2018        (r330872)
@@ -108,6 +108,7 @@ static VAR var[] = {
        {"inblk", "INBLK", NULL, "read-blocks", USER, rvar, ROFF(ru_inblock),
            LONG, "ld", 0},
        {"inblock", "", "inblk", NULL, 0, NULL, 0, CHAR, NULL, 0},
+       {"jail", "JAIL", NULL, "jail-name", LJUST, jailname, 0, CHAR, NULL, 0},
        {"jid", "JID", NULL, "jail-id", 0, kvar, KOFF(ki_jid), INT, "d", 0},
        {"jobc", "JOBC", NULL, "job-control-count", 0, kvar, KOFF(ki_jobc),
            SHORT, "d", 0},

Modified: head/bin/ps/print.c
==============================================================================
--- head/bin/ps/print.c Tue Mar 13 18:27:23 2018        (r330871)
+++ head/bin/ps/print.c Tue Mar 13 18:30:26 2018        (r330872)
@@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$");
 
 #include <err.h>
 #include <grp.h>
+#include <jail.h>
 #include <langinfo.h>
 #include <locale.h>
 #include <math.h>
@@ -839,4 +840,17 @@ loginclass(KINFO *k, VARENT *ve __unused)
                return (strdup("-"));
        }
        return (strdup(k->ki_p->ki_loginclass));
+}
+
+char *
+jailname(KINFO *k, VARENT *ve __unused)
+{
+       char *name;
+
+       if (k->ki_p->ki_jid == 0)
+               return (strdup("-"));
+       name = jail_getname(k->ki_p->ki_jid);
+       if (name == NULL)
+               return (strdup("-"));
+       return (name);
 }

Modified: head/bin/ps/ps.1
==============================================================================
--- head/bin/ps/ps.1    Tue Mar 13 18:27:23 2018        (r330871)
+++ head/bin/ps/ps.1    Tue Mar 13 18:30:26 2018        (r330872)
@@ -29,7 +29,7 @@
 .\"     @(#)ps.1       8.3 (Berkeley) 4/18/94
 .\" $FreeBSD$
 .\"
-.Dd January 23, 2018
+.Dd March 13, 2018
 .Dt PS 1
 .Os
 .Sh NAME
@@ -576,6 +576,8 @@ group name (from egid) (alias
 .It Cm inblk
 total blocks read (alias
 .Cm inblock )
+.It Cm jail
+jail name
 .It Cm jid
 jail ID
 .It Cm jobc
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to