diff options
author | jhb <jhb@FreeBSD.org> | 2018-03-24 00:26:42 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2018-03-24 00:26:42 +0000 |
commit | f55b9fe8a5d82d4fed9ca064ab802f85a609723e (patch) | |
tree | 15ad73fdf2ce9a5e63e01b3b15072b08fd791b88 /bin | |
parent | 569ef438d1bc2dae13d05f289416ed18185aabc8 (diff) | |
download | FreeBSD-src-f55b9fe8a5d82d4fed9ca064ab802f85a609723e.zip FreeBSD-src-f55b9fe8a5d82d4fed9ca064ab802f85a609723e.tar.gz |
MFC 330872:
Add a "jail" keyword to list the name of a jail rather than its ID.
Diffstat (limited to 'bin')
-rw-r--r-- | bin/ps/extern.h | 1 | ||||
-rw-r--r-- | bin/ps/keyword.c | 1 | ||||
-rw-r--r-- | bin/ps/print.c | 14 | ||||
-rw-r--r-- | bin/ps/ps.1 | 4 |
4 files changed, 19 insertions, 1 deletions
diff --git a/bin/ps/extern.h b/bin/ps/extern.h index ef39153..f916f830 100644 --- a/bin/ps/extern.h +++ b/bin/ps/extern.h @@ -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 *); diff --git a/bin/ps/keyword.c b/bin/ps/keyword.c index f01df6c..d81453c 100644 --- a/bin/ps/keyword.c +++ b/bin/ps/keyword.c @@ -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}, diff --git a/bin/ps/print.c b/bin/ps/print.c index b886fa0..1105832 100644 --- a/bin/ps/print.c +++ b/bin/ps/print.c @@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$"); #include <err.h> #include <grp.h> +#include <jail.h> #include <langinfo.h> #include <locale.h> #include <math.h> @@ -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 88026c6..6fa9d9e 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 January 23, 2018 +.Dd March 13, 2018 .Dt PS 1 .Os .Sh NAME @@ -566,6 +566,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 |