Читать версию ядра Linux, используя C? - PullRequest
8 голосов
/ 07 июня 2010

Я использую Ubuntu и хочу прочитать версию его ядра.Я нашел файл с именем version в / proc /, в котором записана версия текущего ядра.

Если я не хочу читать файл, есть ли другой способ, например встроенная функция в C, который я могучитать версию на C?

Спасибо

Ответы [ 6 ]

19 голосов
/ 07 июня 2010

Вы можете использовать системный вызов uname () .

8 голосов
/ 07 июня 2010

Проверьте функцию uname . Он дает вам много информации без необходимости разбора вывода некоторых исполняемых файлов linux.

7 голосов
/ 07 июня 2010

Возможно, вы захотите попробовать использовать функцию uname.

2 голосов
/ 07 июня 2010

Это должно сделать:

system("uname -r");

РЕДАКТИРОВАТЬ: введите man uname в терминале, чтобы получить список опций, которые вы можете использовать с uname

0 голосов
/ 22 ноября 2011

Или вы можете прочитать / proc / version, но это не так хорошо, как прямой вызов uname (2). uname (2) более естественна для C.

0 голосов
/ 07 июня 2010

Посмотрите на эту статью о способе получения информации ядра для оболочки Вы можете соответствующим образом запустить все это с помощью вызова system (). Но я предполагаю, что в вашем случае этого будет недостаточно. Вам нужно как-то разобрать вывод оболочки. Следовательно, используйте popen () call.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...