oss-sec mailing list archives
Re: [patch] proc.5: tell how to parse /proc/*/stat correctly
From: Alejandro Colomar <alx.manpages () gmail com>
Date: Wed, 28 Dec 2022 20:57:04 +0100
Hi all, On 12/28/22 20:24, Shawn Webb wrote:
On Wed, Dec 28, 2022 at 01:02:35PM -0500, Demi Marie Obenour wrote:On Wed, Dec 28, 2022 at 12:25:17PM -0500, Shawn Webb wrote:On Wed, Dec 28, 2022 at 11:47:25AM -0500, Demi Marie Obenour wrote:On Wed, Dec 28, 2022 at 10:24:58AM -0500, Shawn Webb wrote:On Tue, Dec 27, 2022 at 04:44:49PM -0800, Lyndon Nerenberg (VE7TFX/VE6BBM) wrote:Dominique Martinet writes:But, really, I just don't see how this can practically be said to be parsable...In its current form it never will be. The solution is to place this variable-length field last. Then you can "cut -d ' ' -f 51-" to get the command+args part (assuming I counted all those fields correctly ...) Of course, this breaks backwards compatability.It would also break forwards compatibility in the case new fields needed to be added. The only solution would be a libxo-style feature wherein a machine-parseable format is exposed by virtue of a file extension. Examples: 1. /proc/pid/stats.json 2. /proc/pid/stats.xml 3. /proc/pid/stats.yaml_shouldnt_be_a_thingA binary format would be even better. No risk of ambiguity.I think the argument I'm trying to make is to be flexible in implementation, allowing for future needs and wants--that is "future proofing".Linux should not have an XML, JSON, or YAML serializer. Linux already does way too much; let’s not add one more thing to the list.Somewhat agreed. I think formats like JSON provide a good balance between machine parseable and human readable. a As I described earlier, though, when it comes to concepts like procfs and sysfs, I have a bias towards abandoning them in favor of sysctl. If sysctl nodes were to be used, no new serialization formats would need to be implemented--and developers would also use a safter method of system and process inspection and manipulation.
Just a comment as someone who is reading without much understanding of the contents of /prod/pid/stat:
If organization of the data in the file is a problem, and the format starts to matter, maybe it's a hint that there are too many different contents, and could be split into different files, each one with its own formatting rules. I'll suggest that maybe a set of files, maybe contained in a common directory stats.d, is what you're looking for?
Binary format is not of my preference, since most user-space tools work with the standard interface, that is, text.
Cheers, Alex -- <http://www.alejandro-colomar.es/>
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature
Current thread:
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly, (continued)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Jan Engelhardt (Dec 22)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Lyndon Nerenberg (VE7TFX/VE6BBM) (Dec 28)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Shawn Webb (Dec 28)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Shawn Webb (Dec 28)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Demi Marie Obenour (Dec 28)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Jan Engelhardt (Dec 28)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Shawn Webb (Dec 28)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Demi Marie Obenour (Dec 28)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly John Helmert III (Dec 28)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Shawn Webb (Dec 28)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Alejandro Colomar (Dec 28)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Theodore Ts'o (Dec 29)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Demi Marie Obenour (Dec 29)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Alan Coopersmith (Dec 29)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Steffen Nurpmeso (Dec 29)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly David A. Wheeler (Dec 29)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Jeffrey Walton (Dec 29)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Steffen Nurpmeso (Dec 29)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Steffen Nurpmeso (Dec 28)
- RE: [patch] proc.5: tell how to parse /proc/*/stat correctly David Laight (Dec 31)
- Re: [patch] proc.5: tell how to parse /proc/*/stat correctly Solar Designer (Dec 31)