ps: make "ps -o BAD" emit list of good -o params
also make ps help more informative function old new delta find_out_spec 58 103 +45 packed_usage 27039 27079 +40 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
765b0eed3e
commit
9e07219c78
@ -3574,11 +3574,11 @@
|
|||||||
#if ENABLE_DESKTOP
|
#if ENABLE_DESKTOP
|
||||||
|
|
||||||
#define ps_trivial_usage \
|
#define ps_trivial_usage \
|
||||||
""
|
"[-o COL1,COL2=HEADER]" IF_FEATURE_SHOW_THREADS(" [-T]")
|
||||||
#define ps_full_usage "\n\n" \
|
#define ps_full_usage "\n\n" \
|
||||||
"Report process status\n" \
|
"Show list of processes\n" \
|
||||||
"\nOptions:" \
|
"\nOptions:" \
|
||||||
"\n -o col1,col2=header Select columns for display" \
|
"\n -o COL1,COL2=HEADER Select columns for display" \
|
||||||
IF_FEATURE_SHOW_THREADS( \
|
IF_FEATURE_SHOW_THREADS( \
|
||||||
"\n -T Show threads" \
|
"\n -T Show threads" \
|
||||||
)
|
)
|
||||||
@ -3594,7 +3594,7 @@
|
|||||||
#define ps_trivial_usage \
|
#define ps_trivial_usage \
|
||||||
""
|
""
|
||||||
#define ps_full_usage "\n\n" \
|
#define ps_full_usage "\n\n" \
|
||||||
"Report process status\n" \
|
"Show list of processes\n" \
|
||||||
USAGE_PS \
|
USAGE_PS \
|
||||||
IF_SELINUX( \
|
IF_SELINUX( \
|
||||||
"\n -Z Show selinux context" \
|
"\n -Z Show selinux context" \
|
||||||
|
22
procps/ps.c
22
procps/ps.c
@ -232,7 +232,6 @@ static void func_tty(char *buf, int size, const procps_status_t *ps)
|
|||||||
snprintf(buf, size+1, "%u,%u", ps->tty_major, ps->tty_minor);
|
snprintf(buf, size+1, "%u,%u", ps->tty_major, ps->tty_minor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if ENABLE_FEATURE_PS_ADDITIONAL_COLUMNS
|
#if ENABLE_FEATURE_PS_ADDITIONAL_COLUMNS
|
||||||
|
|
||||||
static void func_rgroup(char *buf, int size, const procps_status_t *ps)
|
static void func_rgroup(char *buf, int size, const procps_status_t *ps)
|
||||||
@ -250,9 +249,10 @@ static void func_nice(char *buf, int size, const procps_status_t *ps)
|
|||||||
sprintf(buf, "%*d", size, ps->niceness);
|
sprintf(buf, "%*d", size, ps->niceness);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* FEATURE_PS_ADDITIONAL_COLUMNS */
|
#endif
|
||||||
|
|
||||||
#if ENABLE_FEATURE_PS_TIME
|
#if ENABLE_FEATURE_PS_TIME
|
||||||
|
|
||||||
static void func_etime(char *buf, int size, const procps_status_t *ps)
|
static void func_etime(char *buf, int size, const procps_status_t *ps)
|
||||||
{
|
{
|
||||||
/* elapsed time [[dd-]hh:]mm:ss; here only mm:ss */
|
/* elapsed time [[dd-]hh:]mm:ss; here only mm:ss */
|
||||||
@ -278,6 +278,7 @@ static void func_time(char *buf, int size, const procps_status_t *ps)
|
|||||||
mm /= 60;
|
mm /= 60;
|
||||||
snprintf(buf, size+1, "%3lu:%02u", mm, ss);
|
snprintf(buf, size+1, "%3lu:%02u", mm, ss);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLE_SELINUX
|
#if ENABLE_SELINUX
|
||||||
@ -337,11 +338,24 @@ static ps_out_t* new_out_t(void)
|
|||||||
static const ps_out_t* find_out_spec(const char *name)
|
static const ps_out_t* find_out_spec(const char *name)
|
||||||
{
|
{
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
#if ENABLE_DESKTOP
|
||||||
|
char buf[ARRAY_SIZE(out_spec)*7 + 1];
|
||||||
|
char *p = buf;
|
||||||
|
#endif
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(out_spec); i++) {
|
for (i = 0; i < ARRAY_SIZE(out_spec); i++) {
|
||||||
if (!strncmp(name, out_spec[i].name6, 6))
|
if (strncmp(name, out_spec[i].name6, 6) == 0)
|
||||||
return &out_spec[i];
|
return &out_spec[i];
|
||||||
|
#if ENABLE_DESKTOP
|
||||||
|
p += sprintf(p, "%.6s,", out_spec[i].name6);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
bb_error_msg_and_die("bad -o argument '%s'", name);
|
#if ENABLE_DESKTOP
|
||||||
|
p[-1] = '\0';
|
||||||
|
bb_error_msg_and_die("bad -o argument '%s', supported arguments: %s", name, buf);
|
||||||
|
#else
|
||||||
|
bb_error_msg_and_die("bad -o argument '%s'");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void parse_o(char* opt)
|
static void parse_o(char* opt)
|
||||||
|
Loading…
Reference in New Issue
Block a user