用C读取linux内核版本?
我正在使用Ubuntu,我想阅读其内核的版本。 我在/ proc /中找到了一个名为version的文件,它记录了当前内核的版本。
如果我不想读取文件,还有其他方法,比如C中的内置函数,我可以在C中读取该版本吗?
谢谢
检查unamefunction。 它为您提供了大量信息,而无需解析某些Linux可执行文件的输出。
您可以使用uname()系统调用。
您可能想尝试使用uname
函数。
这应该做:
system("uname -r");
编辑:在终端中键入man uname
以获取可与uname
使用的选项列表
查看本文,了解基于shell的获取内核信息的方法。 您可以使用system()调用适当地运行所有这些。 但我认为在你的情况下这还不够。 你需要一些解析shell输出。 因此,请使用popen()调用。
或者你可以读/ proc / version,但这不如直接调用uname(2)那么好。 uname(2)对C更自然。