是否可以在C程序中使用/ proc来提供有关内部状态的信息?
例如,我提供了句柄internalInfo
,cat /proc/2382/internalInfo
输出了我原本必须通过以下方式检索的信息。向进程发送信号以将信息生成到日志文件中,然后解析日志文件等。
答案 0 :(得分:3)
procfs的目的:“为动态访问内核中保存的流程数据提供更方便,更标准化的方法”(http://en.wikipedia.org/wiki/Procfs)。
从这个意义上说,procfs是公开内核有关进程的信息,它不能用作用户空间中的进程间通信。
要专门回答这个问题:是的,您可以使用procfs将有关流程的信息公开给流程 - 只有在需要的信息保留在内核中时才应该这样做。如果您尝试访问的信息由用户空间中的进程本身维护,则不应使用procfs - 我建议使用其他类型的通信方法,如管道,共享内存,文件或信号。