9
votes

Lire la version de noyau Linux en utilisant c?

J'utilise Ubuntu et je veux lire la version de son noyau. J'ai trouvé un fichier nommé version in / proc / qui enregistre la version du noyau actuel.

Si je ne veux pas lire le fichier, existe-t-il une autre manière, comme la fonction intégrée en C, que je peux lire la version en C?

merci


2 commentaires

Pourquoi ne voulez-vous pas lire un fichier?


@ktoofay - parce que ce serait une manière inefficace de procéder à cela.


6 Réponses :


1
votes

Ceci devrait faire:

system("uname -r");


1 commentaires

Cela imprime simplement les informations sur la sortie standard. Pour l'utiliser dans le programme, utilisez mieux l'appel du système.



7
votes

Vous voudrez peut-être essayer d'utiliser la fonction uname .


0 commentaires

21
votes

Vous pouvez utiliser uname () appel système.


0 commentaires

-1
votes

Regardez Cet article pour la méthode de la coque d'obtenir des informations sur les noyaux. Vous pouvez utiliser convenablement tout cela en utilisant l'appel système (). Mais je suppose que cela ne suffirait pas dans votre cas. Vous auriez besoin de savoir pour analyser la sortie Shell. Par conséquent, utilisez Popen ( ) appel.


0 commentaires

10
votes

Vérifiez le Uname fonction. Cela vous donne beaucoup d'informations sans avoir besoin d'analyser la sortie de certains exécutables Linux.


2 commentaires

Merci beaucoup, c'est ce dont j'ai besoin. Merci tout pour votre soutien.


Que diriez-vous d'inclure le nom de cette fonction dans votre réponse, au lieu de le cacher dans le lien?



0
votes

ou vous pouvez lire / proc / version, mais ce n'est pas aussi bon que d'appeler uname (2) directement. uname (2) est plus naturel à c.


0 commentaires