有几篇文章展示了如何从linux / proc / xxx文件中读取数据,例如:How can I parse the output of /proc/net/dev into key:value pairs per interface using Python?
如何设置Python应用程序来创建和写入我自己的/ proc / mystats文件,以便其他进程可以监视它?
答案 0 :(得分:4)
我相信只有内核模块可以在procfs文件系统中创建条目。一旦内核模块创建了一个条目,它就可以控制权限,然后你可以像文件系统上的任何文件一样读/写它。
但是,如果您只是想在进程之间共享数据,那么使用procfs会造成严重的过度杀伤。您是否考虑过管道,共享内存,甚至只是文件系统上的常规文件? IPC有很多机制,你似乎选择了最有争议的机制。
答案 1 :(得分:3)
你做不到。 /proc/
是一个special filesystem,用于公开内核对各种进程的了解信息,由内核管理。
如果要将运行信息写入文件,请使用其他目录 - 例如,firefox将内容写入$HOME/.mozilla
答案 2 :(得分:0)
实际上,您可以像普通文件一样编辑/proc/xxx
文件,但有一些限制。当我试图更改conntrack表的大小时,我遇到了同样的问题。这是我的代码,效果很好。
# set totalsize
with open('/proc/.../nf_conntrack_max', 'r+') as f:
f.write(talbe_size)
f.close()
# set buckets
with open('/sys/.../hashsize', 'r+') as f:
f.write(bucket_size)
f.close()