From be9ea2aefdf9f8ec580fafde31c09d8e6ca5cfe3 Mon Sep 17 00:00:00 2001 From: jhb Date: Sat, 24 Mar 2018 00:26:42 +0000 Subject: [PATCH] MFC 330872: Add a "jail" keyword to list the name of a jail rather than its ID. git-svn-id: svn://svn.freebsd.org/base/stable/10@331471 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- bin/ps/extern.h | 1 + bin/ps/keyword.c | 1 + bin/ps/print.c | 14 ++++++++++++++ bin/ps/ps.1 | 4 +++- 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/bin/ps/extern.h b/bin/ps/extern.h index eb9b2cfee..4ef5b7ec3 100644 --- a/bin/ps/extern.h +++ b/bin/ps/extern.h @@ -53,6 +53,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 *); diff --git a/bin/ps/keyword.c b/bin/ps/keyword.c index 3a0c323b7..2adffa8c5 100644 --- a/bin/ps/keyword.c +++ b/bin/ps/keyword.c @@ -96,6 +96,7 @@ static VAR var[] = { {"ignored", "", "sigignore", 0, NULL, 0, CHAR, NULL, 0}, {"inblk", "INBLK", NULL, USER, rvar, ROFF(ru_inblock), LONG, "ld", 0}, {"inblock", "", "inblk", 0, NULL, 0, CHAR, NULL, 0}, + {"jail", "JAIL", NULL, LJUST, jailname, 0, CHAR, NULL, 0}, {"jid", "JID", NULL, 0, kvar, KOFF(ki_jid), INT, "d", 0}, {"jobc", "JOBC", NULL, 0, kvar, KOFF(ki_jobc), SHORT, "d", 0}, {"ktrace", "KTRACE", NULL, 0, kvar, KOFF(ki_traceflag), INT, "x", 0}, diff --git a/bin/ps/print.c b/bin/ps/print.c index a1d5b2b49..b3eb29b0e 100644 --- a/bin/ps/print.c +++ b/bin/ps/print.c @@ -49,6 +49,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -840,3 +841,16 @@ loginclass(KINFO *k, VARENT *ve __unused) } 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); +} diff --git a/bin/ps/ps.1 b/bin/ps/ps.1 index fdb4f1efa..e00f0108e 100644 --- a/bin/ps/ps.1 +++ b/bin/ps/ps.1 @@ -29,7 +29,7 @@ .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd August 12, 2016 +.Dd March 13, 2018 .Dt PS 1 .Os .Sh NAME @@ -554,6 +554,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 -- 2.45.0