ps: exploits <pids> enhancement for control group name
[ but stay tuned! there is a commit coming soon that ] [ represents a rather major internal redesign, which ] [ was prompted by the ps and top adaptation testing. ] Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
parent
3a00c7e499
commit
cfd47f710a
@ -72,6 +72,7 @@ makEXT(ADDR_KSTK_ESP)
|
||||
makEXT(ADDR_START_CODE)
|
||||
makEXT(ADDR_START_STACK)
|
||||
makEXT(ALARM)
|
||||
makEXT(CGNAME)
|
||||
makEXT(CGROUP)
|
||||
makEXT(CMD)
|
||||
makEXT(CMDLINE)
|
||||
|
@ -62,6 +62,7 @@ makREL(ADDR_KSTK_ESP)
|
||||
makREL(ADDR_START_CODE)
|
||||
makREL(ADDR_START_STACK)
|
||||
makREL(ALARM)
|
||||
makREL(CGNAME)
|
||||
makREL(CGROUP)
|
||||
makREL(CMD)
|
||||
makREL(CMDLINE)
|
||||
|
26
ps/output.c
26
ps/output.c
@ -314,6 +314,13 @@ setREL3(CMD,CMDLINE,ENVIRON)
|
||||
}
|
||||
|
||||
|
||||
static int pr_cgname(char *restrict const outbuf,const proc_t *restrict const pp) {
|
||||
int rightward = max_rightward;
|
||||
setREL1(CGNAME)
|
||||
escaped_copy(outbuf, rSv(CGNAME, str, pp), OUTBUF_SIZE, &rightward);
|
||||
return max_rightward-rightward;
|
||||
}
|
||||
|
||||
static int pr_cgroup(char *restrict const outbuf,const proc_t *restrict const pp) {
|
||||
int rightward = max_rightward;
|
||||
setREL1(CGROUP)
|
||||
@ -321,23 +328,6 @@ setREL1(CGROUP)
|
||||
return max_rightward-rightward;
|
||||
}
|
||||
|
||||
static int pr_cgname(char *restrict const outbuf,const proc_t *restrict const pp) {
|
||||
int rightward = max_rightward;
|
||||
int i;
|
||||
char *name;
|
||||
setREL1(CGROUP)
|
||||
|
||||
if ((name = strstr(rSv(CGROUP, str, pp), ":name=")) != NULL) {
|
||||
name += 6;
|
||||
if (name != '\0') {
|
||||
escape_str(outbuf, name, OUTBUF_SIZE, &rightward);
|
||||
return max_rightward - rightward;
|
||||
}
|
||||
}
|
||||
/* fallback: use full cgroup for name */
|
||||
return pr_cgroup(outbuf, pp);
|
||||
}
|
||||
|
||||
/* Non-standard, from SunOS 5 */
|
||||
static int pr_fname(char *restrict const outbuf, const proc_t *restrict const pp){
|
||||
char *endp = outbuf;
|
||||
@ -1408,7 +1398,7 @@ static const format_struct format_array[] = { /*
|
||||
{"bsdtime", "TIME", pr_bsdtime, PROCPS_PIDS_TICS_ALL, 6, LNX, ET|RIGHT},
|
||||
{"c", "C", pr_c, PROCPS_PIDS_extra, 2, SUN, ET|RIGHT},
|
||||
{"caught", "CAUGHT", pr_sigcatch, PROCPS_PIDS_SIGCATCH, 9, BSD, TO|SIGNAL}, /*sigcatch*/
|
||||
{"cgname", "CGNAME", pr_cgname, PROCPS_PIDS_CGROUP, 27, LNX, PO|UNLIMITED},
|
||||
{"cgname", "CGNAME", pr_cgname, PROCPS_PIDS_CGNAME, 27, LNX, PO|UNLIMITED},
|
||||
{"cgroup", "CGROUP", pr_cgroup, PROCPS_PIDS_CGROUP, 27, LNX, PO|UNLIMITED},
|
||||
{"class", "CLS", pr_class, PROCPS_PIDS_SCHED_CLASS, 3, XXX, TO|LEFT},
|
||||
{"cls", "CLS", pr_class, PROCPS_PIDS_SCHED_CLASS, 3, HPU, TO|RIGHT}, /*says HPUX or RT*/
|
||||
|
Loading…
Reference in New Issue
Block a user