8b64b36bbfa8dc038727a37e3e8ce97bd8efeb1f
Some inconsistencies have emerged during development
of support for these relatively new proc_t fields.
For example, a PROC_FILLCGROUP flag (via file2strvec)
could return NULL in cgroup whereas PROC_EDITCGRPCVT
(via fill_cgroup_cvt) *almost* guaranteed a return
address (as is true for PROC_EDITCMDLCVT and cmdline).
But even PROC_EDITCGRPCVT could return NULL if the
kernel version was less than 2.6.24. Then with NULL
ps would display a "-" while top would show "n/a".
And while unlikely, with the PROC_FILLSTATUS flag (via
status2proc) a NULL supgid address was theoretically
possible and both ps and top would then show "n/a".
This commit standardizes the following usage:
. PROC_FILLSTATUS (via status2proc)
guarantees a valid supgid address
representing either a true comma
delimited list or "-"
. PROC_FILLCGROUP plus
PROC_EDITCGRPCVT (via fill_cgroup_cvt)
guarantees a cgroup single vector
representing either a true control
group hierarchy or "-"
And as was true before, the following remains true:
PROC_FILLCOM or
PROC_FILLARG (via file2strvec)
may return a NULL cmdline pointer
. PROC_FILLCGROUP (via file2strvec)
may return a NULL cgroup pointer
. PROC_FILLCOM or
PROC_FILLARG plus
PROC_EDITCMDLCVT (via fill_cmdline_cvt)
guarantees a cmdline single vector
representing either a true command
line or a bracketed program name
. PROC_FILLSTATUS plus
PROC_FILLSUPGRP (via supgrps_from_supgids)
guarantees a valid supgrp address
representing either a true comma
delimited list or "-"
Signed-off-by: Jim Warner <james.warner@comcast.net>
…
…
COMPATIBILITY
This code is intended for use with Linux 2.6.xx, 3.x and
hopefully all future kernels.
INSTALLATION
If you are using git version of the project you need extra step.
./autogen.sh
After that, and everyone using .tar.xz version of procps-ng, can
do normal build. Read './configure --help' to select options for
your needs.
./configure
make
make install
If you have DejaGNU installed you can run optional test suite.
make check
HOW TO CONTRIBUTE
See Documentation/BUGS file.
PACKAGING
If you are a downstream maintainer (packager) for a Linux
distribution, please avoid causing troubles. This section
applies to you.
Avoid maintaining distribution specific patches. Send your
patches to upstream, where they are at least reviewed, if not
included.
Please forward bug reports. If your bug database is public and
busy enough to bother with, please make this known. Follow
Debian's lead in making the bug database easy to comment on via
email without need for an account.
For normal packages, ensure that you do not add debugging flags
to the CFLAGS variable.
UPSTREAM & BUG REPORTS
procps-ng <procps@freelists.org>
Description
Command line and full screen utilities for browsing procfs, a "pseudo" file system dynamically generated by Linux to provide information about the status of entries in its process table.
Languages
C
97.2%
Makefile
1%
Shell
0.9%
M4
0.9%