Read linux kernel version using C?
I am using Ubuntu and I want to read the version of its kernel. I found a file named version in /开发者_如何学Goproc/ that records the version of the current kernel.
If I dont want to read file, is there any other way, like built-in function in C, that I can read the version in C?
Thanks
You can use the uname() system call.
Check the uname function. It gives you a lot of information without the need to parse output of some linux executables.
You might want to try using the uname
function.
This should do:
system("uname -r");
EDIT: type man uname
in a terminal to get the list of options you can use with uname
Or you can read /proc/version, but this is not as good as calling uname(2) directly. uname(2) is more natural to C.
Look at this article for the shell based way of getting kernel information. You can suitably run all of this using the system() call. But I am assuming that wouldn't be enough in your case. You'd need someway to parse the shell output. Hence make use of popen() call.
精彩评论