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
This commit is contained in:
John Baldwin 2018-03-13 18:30:26 +00:00
parent 741e1c9196
commit 2f5a9b7661
4 changed files with 19 additions and 1 deletions

View File

@ -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 *);

View File

@ -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},

View File

@ -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);
}

View File

@ -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