我正在尝试编写一个脚本,其中我从 /proc/.../stat
中读取。空格分隔列表中的一个值是进程的名称,我暂时不感兴趣。我想在它之后读一些其他的值。我的想法是使用空格作为分隔符向前移动一定数量的值。不过,一个潜在的问题是我可以让 /proc/.../stat
包含类似 1234 (asdf asdf) S ...
的内容。进程名称中的空格会导致程序读取 asdf)
而不是预期的 S
。
所以我的问题是进程名称中可以有空格吗?如果是这样,我如何区分 /proc/.../stat
中的值?
最佳答案
我个人讨厌这个文件的布局方式,这正是您所说的原因。话虽如此,无论进程名称是什么,都可以唯一地解析它。这很重要,因为不仅进程名称可能包含空格,它还可能还包含右括号。
我建议的方法是手动解析进程名,其他的都用空格分隔。
进程名称应定义为从该行的第一个开括号字符开始,到该行的最后 闭括号结束。由于该行的其他字段没有用户控制的格式,因此无论以何种奇怪的方式命名过程,这都应该可靠地单独列出过程名称。
关于linux - 进程 Linux 的可能名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48604198/