From c5d1bdd083f9fb905cc980b0475cdf0f3f69090b Mon Sep 17 00:00:00 2001 From: Jim Warner Date: Fri, 6 Aug 2021 00:00:00 -0500 Subject: [PATCH] ps: added 2 new fields for displaying autogroup values Signed-off-by: Jim Warner --- ps/common.h | 2 ++ ps/global.c | 2 ++ ps/output.c | 12 ++++++++++++ 3 files changed, 16 insertions(+) diff --git a/ps/common.h b/ps/common.h index 3a149d06..a70c4da0 100644 --- a/ps/common.h +++ b/ps/common.h @@ -73,6 +73,8 @@ makEXT(ADDR_CODE_START) makEXT(ADDR_CURR_EIP) makEXT(ADDR_CURR_ESP) makEXT(ADDR_STACK_START) +makEXT(AUTOGRP_ID) +makEXT(AUTOGRP_NICE) makEXT(CGNAME) makEXT(CGROUP) makEXT(CMD) diff --git a/ps/global.c b/ps/global.c index 953807b0..a92cb2c5 100644 --- a/ps/global.c +++ b/ps/global.c @@ -59,6 +59,8 @@ makREL(ADDR_CODE_START) makREL(ADDR_CURR_EIP) makREL(ADDR_CURR_ESP) makREL(ADDR_STACK_START) +makREL(AUTOGRP_ID) +makREL(AUTOGRP_NICE) makREL(CGNAME) makREL(CGROUP) makREL(CMD) diff --git a/ps/output.c b/ps/output.c index b2c1f011..9157b16a 100644 --- a/ps/output.c +++ b/ps/output.c @@ -1464,6 +1464,16 @@ setREL1(ID_TGID) return len; } +/************************ Linux autogroups ******************************/ +static int pr_agid(char *restrict const outbuf, const proc_t *restrict const pp){ +setREL1(AUTOGRP_ID) + return snprintf(outbuf, COLWID, "%d", rSv(AUTOGRP_ID, s_int, pp)); +} +static int pr_agnice(char *restrict const outbuf, const proc_t *restrict const pp){ +setREL1(AUTOGRP_NICE) + return snprintf(outbuf, COLWID, "%d", rSv(AUTOGRP_NICE, s_int, pp)); +} + ////////////////////////////// Test code ///////////////////////////////// // like "args" @@ -1578,6 +1588,8 @@ static const format_struct format_array[] = { /* {"acflg", "ACFLG", pr_nop, PIDS_noop, 5, BSD, AN|RIGHT}, /*acflag*/ {"addr", "ADDR", pr_nop, PIDS_noop, 4, XXX, AN|RIGHT}, {"addr_1", "ADDR", pr_nop, PIDS_noop, 1, LNX, AN|LEFT}, +{"ag_id", "AGID", pr_agid, PIDS_AUTOGRP_ID, 5, LNX, AN|RIGHT}, +{"ag_nice", "AGNI", pr_agnice, PIDS_AUTOGRP_NICE, 4, LNX, AN|RIGHT}, {"alarm", "ALARM", pr_nop, PIDS_noop, 5, LNX, AN|RIGHT}, {"argc", "ARGC", pr_nop, PIDS_noop, 4, LNX, PO|RIGHT}, {"args", "COMMAND", pr_args, PIDS_CMDLINE, 27, U98, PO|UNLIMITED}, /*command*/